Browse Source

minor changes needed in 2nd step

PankajBranch
Hemant Khadase 2 years ago
parent
commit
ea104a9c23
26 changed files with 800 additions and 192 deletions
  1. +2
    -1
      app/src/main/AndroidManifest.xml
  2. +92
    -0
      app/src/main/java/com/nivesh/production/bajajfd/adapter/BankListAdapter.kt
  3. +5
    -7
      app/src/main/java/com/nivesh/production/bajajfd/adapter/RecommendedBankListAdapter.kt
  4. +7
    -1
      app/src/main/java/com/nivesh/production/bajajfd/interfaces/ApiInterface.kt
  5. +15
    -0
      app/src/main/java/com/nivesh/production/bajajfd/model/BankList.kt
  6. +7
    -7
      app/src/main/java/com/nivesh/production/bajajfd/model/ClientBanklist.kt
  7. +3
    -0
      app/src/main/java/com/nivesh/production/bajajfd/model/GetCodes.kt
  8. +6
    -0
      app/src/main/java/com/nivesh/production/bajajfd/model/GetIFSCCodeListResponse.kt
  9. +10
    -0
      app/src/main/java/com/nivesh/production/bajajfd/model/GetIFSCCodeResponse.kt
  10. +7
    -0
      app/src/main/java/com/nivesh/production/bajajfd/model/ResponseXXXXXXXXX.kt
  11. +7
    -0
      app/src/main/java/com/nivesh/production/bajajfd/model/ResponseXXXXXXXXXX.kt
  12. +6
    -0
      app/src/main/java/com/nivesh/production/bajajfd/repositories/MainRepository.kt
  13. +1
    -1
      app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepOneBajajFDFragment.kt
  14. +272
    -49
      app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepTwoBajajFDFragment.kt
  15. +10
    -0
      app/src/main/java/com/nivesh/production/bajajfd/util/Common.kt
  16. +15
    -0
      app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepTwoBajajFDViewModel.kt
  17. +5
    -0
      app/src/main/res/drawable/ic_add_icon.xml
  18. +5
    -0
      app/src/main/res/drawable/ic_select_green.xml
  19. +5
    -0
      app/src/main/res/drawable/ic_select_outline.xml
  20. +132
    -87
      app/src/main/res/layout/fragment_bajajfd_step_two.xml
  21. +96
    -0
      app/src/main/res/layout/item_bank_list_preview.xml
  22. +27
    -16
      app/src/main/res/layout/layout_bank_list.xml
  23. +18
    -0
      app/src/main/res/layout/row_bank_list.xml
  24. +34
    -22
      app/src/main/res/values-hi-rIN/strings.xml
  25. +4
    -0
      app/src/main/res/values-night/strings.xml
  26. +9
    -1
      app/src/main/res/values/strings.xml

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

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


+ 92
- 0
app/src/main/java/com/nivesh/production/bajajfd/adapter/BankListAdapter.kt View File

@ -0,0 +1,92 @@
package com.nivesh.production.bajajfd.adapter
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.ImageView
import android.widget.TextView
import androidx.recyclerview.widget.RecyclerView
import com.nivesh.production.bajajfd.R
import com.nivesh.production.bajajfd.model.BankList
import com.nivesh.production.bajajfd.model.ClientBanklist
class BankListAdapter(
private val bankList: List<ClientBanklist>?,
private val selectedAccount: String? = null
) : RecyclerView.Adapter<BankListAdapter.BankListViewHolder>() {
inner class BankListViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
val bankSelector: ImageView = itemView.findViewById(R.id.bankSelector)
val tvBankName: TextView = itemView.findViewById(R.id.tvBankName)
val tvBankAccountNumber: TextView = itemView.findViewById(R.id.tvBankAccountNumber)
val tvBankIFSC: TextView = itemView.findViewById(R.id.tvBankIFSC)
}
private var checkedPosition: Int = -2
override fun onCreateViewHolder(
parent: ViewGroup,
viewType: Int
): BankListViewHolder {
return BankListViewHolder(
LayoutInflater.from(parent.context).inflate(
R.layout.item_bank_list_preview,
parent,
false
)
)
}
override fun onBindViewHolder(holder: BankListViewHolder, position: Int) {
val bankList = bankList?.get(position)
if (bankList !=null) {
holder.itemView.apply {
holder.tvBankName.text = bankList.BankName
holder.tvBankIFSC.text = bankList.IFSCCode
holder.tvBankAccountNumber.text = bankList.AccountNumber
if (selectedAccount == bankList.AccountNumber && checkedPosition == -2
) {
holder.bankSelector.setBackgroundResource(R.drawable.ic_select_green)
checkedPosition = holder.adapterPosition
} else if (checkedPosition == -1) {
holder.bankSelector.setBackgroundResource(R.drawable.ic_select_outline)
} else if (checkedPosition == holder.adapterPosition) {
holder.bankSelector.setBackgroundResource(R.drawable.ic_select_green)
} else {
holder.bankSelector.setBackgroundResource(R.drawable.ic_select_outline)
}
setOnClickListener {
onItemClickListener?.let {
it(bankList)
holder.bankSelector.setBackgroundResource(R.drawable.ic_select_green)
if (checkedPosition != holder.adapterPosition) {
notifyItemChanged(checkedPosition)
checkedPosition = holder.adapterPosition
}
}
}
}
}
}
override fun getItemCount(): Int {
return bankList?.size!!
}
private var onItemClickListener: ((ClientBanklist) -> Unit)? = null
fun setOnItemClickListener(listener: (ClientBanklist) -> Unit) {
onItemClickListener = listener
}
fun getSelected(): ClientBanklist? {
return if (checkedPosition != -1) {
bankList?.get(checkedPosition)
} else null
}
}

+ 5
- 7
app/src/main/java/com/nivesh/production/bajajfd/adapter/RecommendedBankListAdapter.kt View File

@ -1,6 +1,5 @@
package com.nivesh.production.bajajfd.adapter
import android.app.Activity
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
@ -10,27 +9,26 @@ import com.nivesh.production.bajajfd.R
import com.nivesh.production.bajajfd.model.Bank
class RecommendedBankListAdapter(
private val bankList: List<Bank>, private val activity: Activity
private val bankList: List<Bank>
) : RecyclerView.Adapter<RecommendedBankListAdapter.MyViewHolder>() {
class MyViewHolder(view: View) : RecyclerView.ViewHolder(view) {
val tvText: TextView
val txtYear: TextView
init {
tvText = view.findViewById(R.id.tvText)
txtYear = view.findViewById(R.id.txtYear)
}
}
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): MyViewHolder {
val itemView: View = LayoutInflater.from(parent.context)
.inflate(R.layout.row_dropdown, parent, false)
.inflate(R.layout.row_bank_list, parent, false)
return MyViewHolder(itemView)
}
override fun onBindViewHolder(holder: MyViewHolder, position: Int) {
val bank: Bank = bankList[position]
holder.tvText.setText(bank.BankName)
holder.txtYear.text = bank.BankName
}


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

@ -145,6 +145,12 @@ interface ApiInterface {
@Header("token") token: String
): Response<JsonObject>
@GET("WebApi_Bajaj/api/GetCity")
@GET("WebAPI_Bajaj/GetFDBankList?FDProvider=Bajaj")
suspend fun bankListApi(@Header("token") token: String): Response<JsonObject>
@GET("WebApi/api/GetIFSC_Autofill?prefix={prefix}")
suspend fun getIFSCApi(@Path("prefix") ifsc : String): Response<JsonObject>
@GET("WebApi/api/GetBankDetailsFromIFSC?")
suspend fun getIFSCDetailsApi(@Query("ifsc") ifsc : String,@Header("token") token: String): Response<JsonObject>
}

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

@ -0,0 +1,15 @@
package com.nivesh.production.bajajfd.model
import java.io.Serializable
data class BankList(
val BankName: String?,
val IFSCCode: String?,
val AccountNumber: String?,
val BranchName: String?,
val DefaultBankFlag: String?,
val IsValBank: String?,
val AccountType: String?
): Serializable

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

@ -1,11 +1,11 @@
package com.nivesh.production.bajajfd.model
data class ClientBanklist(
val AccountNumber: String,
val AccountType: String,
val BankName: String,
val BranchName: String,
val DefaultBankFlag: String,
val IFSCCode: String,
val IsValBank: Int
val AccountNumber: String?,
val AccountType: String?,
val BankName: String?,
val BranchName: String?,
val DefaultBankFlag: String?,
val IFSCCode: String?,
val IsValBank: Int? = 0
)

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

@ -7,4 +7,7 @@ data class GetCodes(
override fun toString(): String {
return Value
}
}

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

@ -0,0 +1,6 @@
package com.nivesh.production.bajajfd.model
data class GetIFSCCodeListResponse(
val IFSCCodes: MutableList<String>,
val Response: ResponseXXXXXXXXXX
)

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

@ -0,0 +1,10 @@
package com.nivesh.production.bajajfd.model
data class GetIFSCCodeResponse(
val ADDRESS: String,
val BANK: String,
val BRANCH: String,
val IFSC: String,
val MICR: String,
val Response: ResponseXXXXXXXXX
)

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

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

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

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

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

@ -76,4 +76,10 @@ class MainRepository constructor(private val apiInterface: ApiInterface) {
suspend fun bankListCheck(token: String) =
apiInterface.bankListApi(token)
suspend fun ifscCodeCheck(str: String) =
apiInterface.getIFSCApi(str)
suspend fun ifscCodeDetailsCheck(str: String, token: String) =
apiInterface.getIFSCDetailsApi(str, token)
}

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

@ -160,7 +160,7 @@ class StepOneBajajFDFragment : Fragment() {
(activity as BajajFdMainActivity).fdInvestmentDetails.CustomerType = ""
(activity as BajajFdMainActivity).fdInvestmentDetails.CKYCNumber = ""
(activity as BajajFdMainActivity).createFDApplicantRequest.FDInvestmentDetails
(activity as BajajFdMainActivity).createFDApplicantRequest.FDInvestmentDetails = (activity as BajajFdMainActivity).fdInvestmentDetails
bajajFDInterface.stepOneApi("stepOneResponse")
}
}


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

@ -1,5 +1,6 @@
package com.nivesh.production.bajajfd.ui.fragment
import android.annotation.SuppressLint
import android.app.DatePickerDialog
import android.app.Dialog
import android.os.Bundle
@ -11,6 +12,7 @@ import android.util.Log
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.view.WindowManager
import android.widget.ArrayAdapter
import android.widget.RadioButton
import android.widget.TextView
@ -21,12 +23,14 @@ import androidx.recyclerview.widget.RecyclerView
import com.google.android.material.textfield.TextInputEditText
import com.google.gson.Gson
import com.nivesh.production.bajajfd.R
import com.nivesh.production.bajajfd.adapter.BankListAdapter
import com.nivesh.production.bajajfd.adapter.RecommendedBankListAdapter
import com.nivesh.production.bajajfd.databinding.FragmentBajajfdStepTwoBinding
import com.nivesh.production.bajajfd.interfaces.BajajFDInterface
import com.nivesh.production.bajajfd.model.*
import com.nivesh.production.bajajfd.ui.activity.BajajFdMainActivity
import com.nivesh.production.bajajfd.util.Common
import com.nivesh.production.bajajfd.util.Common.Companion.commonErrorAutoCompleteMethod
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.getDate
@ -48,7 +52,7 @@ class StepTwoBajajFDFragment : Fragment() {
private lateinit var bajajFDInterface: BajajFDInterface
private lateinit var rbBank: RadioButton
private lateinit var rbPaymentMode: RadioButton
private var rbPaymentMode: RadioButton? = null
private var cal = Calendar.getInstance()
private lateinit var listOfTitle: List<GetCodes>
@ -60,7 +64,10 @@ class StepTwoBajajFDFragment : Fragment() {
private lateinit var listOfStates: List<DataObject>
private lateinit var listOfCities: List<DataObjectX>
private lateinit var listOfIFSC: MutableList<String>
private lateinit var stepTwoBajajFDViewModel: StepTwoBajajFDViewModel
private lateinit var bankListAdapter: BankListAdapter
companion object {
fun getInstance(fdInterface: BajajFDInterface): StepTwoBajajFDFragment {
@ -90,6 +97,8 @@ class StepTwoBajajFDFragment : Fragment() {
listOfMaritalStatus = ArrayList()
listOfOccupation = ArrayList()
listOfStates = ArrayList()
listOfIFSC = ArrayList()
// Personal Details
binding.edtMobileNumber.filters = arrayOf<InputFilter>(LengthFilter(10))
binding.edtPANNumber.filters = arrayOf<InputFilter>(LengthFilter(10))
@ -450,10 +459,9 @@ class StepTwoBajajFDFragment : Fragment() {
override fun onTextChanged(s: CharSequence?, start: Int, before: Int, count: Int) {
removeError(binding.tlIFSC)
ifscCodeCheckApi(s.toString())
}
})
// binding.edtIFSC.setText()
binding.edtAccountNumber.addTextChangedListener(object : TextWatcher {
override fun afterTextChanged(s: Editable?) {
@ -491,15 +499,42 @@ class StepTwoBajajFDFragment : Fragment() {
}
})
binding.btnAddBank.setOnClickListener {
if (validateBank()) {
/// as
}
}
binding.rgPaymentMode.setOnCheckedChangeListener { group, checkedId ->
rbPaymentMode = group.findViewById(checkedId)
Log.e("paymentMode", "-->" + rbPaymentMode.text)
Log.e("paymentMode", "-->" + rbPaymentMode?.text)
}
binding.tvEligibleBankOption.setOnClickListener{
binding.tvEligibleBankOption.setOnClickListener {
apiForEligibleBankList()
}
if ((activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.ClientBanklist?.isEmpty()!!) {
binding.llBankDetails.visibility = View.VISIBLE
} else {
binding.llBankDetails.visibility = View.GONE
}
binding.addBankDetail.setOnClickListener {
if (binding.llBankDetails.visibility == View.GONE) {
binding.llBankDetails.visibility = View.VISIBLE
} else {
binding.llBankDetails.visibility = View.GONE
}
}
titleApi()
setUpRecyclerView()
binding.tvPersonalDetails.setOnClickListener {
if (binding.llPersonalDetail.visibility == View.VISIBLE) {
binding.llPersonalDetail.visibility = View.GONE
@ -522,7 +557,6 @@ class StepTwoBajajFDFragment : Fragment() {
}
}
titleApi()
binding.btnNext.setOnClickListener {
if (validation()) {
// Applicant Details
@ -563,7 +597,8 @@ class StepTwoBajajFDFragment : Fragment() {
(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.AnnualIncome =
binding.spIncome.text.toString()
// Applicant Relation Details
(activity as BajajFdMainActivity).applicantRelationDetails.ApplicantRelation = ""
@ -605,13 +640,22 @@ class StepTwoBajajFDFragment : Fragment() {
(activity as BajajFdMainActivity).nomineeGuardianDetails.GuardianSalutation = ""
(activity as BajajFdMainActivity).nomineeGuardianDetails.GuardianName =
binding.edtGuardianName.text.toString()
(activity as BajajFdMainActivity).nomineeGuardianDetails.GuardianAge =
binding.edtGuardianAge.text.toString().toInt()
if (binding.edtGuardianAge.text.toString().isEmpty()) {
(activity as BajajFdMainActivity).nomineeGuardianDetails.GuardianAge = 0
} else {
(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()
if (binding.edtGuardianPinCode.text.toString().isEmpty()) {
(activity as BajajFdMainActivity).nomineeGuardianDetails.GuardianPincode = 0
}else{
(activity as BajajFdMainActivity).nomineeGuardianDetails.GuardianPincode =
binding.edtGuardianPinCode.text.toString().toInt()
}
(activity as BajajFdMainActivity).nomineeGuardianDetails.GuardianAddress1 =
binding.edtGuardianAddress.text.toString()
(activity as BajajFdMainActivity).nomineeGuardianDetails.GuardianAddress2 = ""
@ -619,27 +663,30 @@ class StepTwoBajajFDFragment : Fragment() {
binding.spGuardianRelation.text.toString()
// Applicant Bank Details
(activity as BajajFdMainActivity).fdBankDetails.AccountType = rbBank.text.toString()
(activity as BajajFdMainActivity).fdBankDetails.AccountType =
bankListAdapter.getSelected()?.AccountType
(activity as BajajFdMainActivity).fdBankDetails.BankBranch =
binding.edtBankBranch.text.toString()
bankListAdapter.getSelected()?.BranchName
(activity as BajajFdMainActivity).fdBankDetails.IFSCCode =
binding.edtIFSC.text.toString()
bankListAdapter.getSelected()?.IFSCCode
(activity as BajajFdMainActivity).fdBankDetails.AccountNumber =
binding.edtAccountNumber.text.toString()
bankListAdapter.getSelected()?.AccountNumber
(activity as BajajFdMainActivity).fdBankDetails.BankName =
binding.edtBankName.text.toString()
bankListAdapter.getSelected()?.BankName
(activity as BajajFdMainActivity).fdBankDetails.PaymentMode =
rbPaymentMode.text.toString()
rbPaymentMode?.text.toString()
(activity as BajajFdMainActivity).createFDApplicantRequest.ApplicantDetails
(activity as BajajFdMainActivity).createFDApplicantRequest.ApplicantRelationDetails
(activity as BajajFdMainActivity).createFDApplicantRequest.FdBankDetails
(activity as BajajFdMainActivity).createFDApplicantRequest.NomineeDetails
(activity as BajajFdMainActivity).createFDApplicantRequest.NomineeGuardianDetails
(activity as BajajFdMainActivity).createFDApplicantRequest.ApplicantDetails = (activity as BajajFdMainActivity).applicantDetails
(activity as BajajFdMainActivity).createFDApplicantRequest.ApplicantRelationDetails = (activity as BajajFdMainActivity).applicantRelationDetails
(activity as BajajFdMainActivity).createFDApplicantRequest.FdBankDetails = (activity as BajajFdMainActivity).fdBankDetails
(activity as BajajFdMainActivity).createFDApplicantRequest.NomineeDetails = (activity as BajajFdMainActivity).nomineeDetails
(activity as BajajFdMainActivity).createFDApplicantRequest.NomineeGuardianDetails = (activity as BajajFdMainActivity).nomineeGuardianDetails
(activity as BajajFdMainActivity).createFDRequest.CreateFDApplicationRequest = (activity as BajajFdMainActivity).createFDApplicantRequest
Log.e(
"CreateFDRequest",
"-->" + Gson().toJson((activity as BajajFdMainActivity).createFDApplicantRequest)
"-->" + Gson().toJson((activity as BajajFdMainActivity).createFDRequest)
)
bajajFDInterface.stepTwoApi("stepTwoResponse")
}
@ -648,19 +695,164 @@ class StepTwoBajajFDFragment : Fragment() {
binding.btnBack.setOnClickListener {
(activity as BajajFdMainActivity).binding.viewPager.currentItem = 0
}
return root
}
private fun ifscCodeCheckApi(ifsc: String) {
if (Common.isNetworkAvailable(activity as BajajFdMainActivity)) {
if (ifsc.length == 11) {
stepTwoBajajFDViewModel.ifscCodeApi(ifsc)
stepTwoBajajFDViewModel.getifscCodeCheckMutableData.observe(viewLifecycleOwner) { response ->
when (response) {
is Resource.Success -> {
val getIFSCCodeListResponse =
Gson().fromJson(
response.data?.toString(),
GetIFSCCodeListResponse::class.java
)
getIFSCCodeListResponse.Response.status_code.let { code ->
when (code) {
200 -> {
if (listOfIFSC.size > 0) {
listOfIFSC.clear()
}
listOfIFSC = getIFSCCodeListResponse.IFSCCodes
if (listOfIFSC.size > 0) {
val adapter = ArrayAdapter(
activity as BajajFdMainActivity,
R.layout.spinner_dropdown,
listOfIFSC
)
binding.edtIFSC.setAdapter(adapter)
}
binding.edtIFSC.setOnItemClickListener { _, _, position, _ ->
if (listOfIFSC.size > 0) {
binding.edtIFSC.setText(listOfIFSC[position])
binding.edtIFSC.setSelection(binding.edtIFSC.text.toString().length)
getIFSCDetailsApi(listOfIFSC[position])
}
}
}
// 650 -> refreshToken()
else -> {
}
}
}
}
is Resource.Error -> {
response.message?.let { message ->
Log.e(" ", "An error occurred:$message")
}
}
is Resource.Loading -> {
}
}
}
}
}
}
private fun getIFSCDetailsApi(ifscCode: String) {
if (Common.isNetworkAvailable(activity as BajajFdMainActivity)) {
stepTwoBajajFDViewModel.ifscCodeDetailsApi(ifscCode, token)
stepTwoBajajFDViewModel.getifscCodeDetailsCheckMutableData.observe(viewLifecycleOwner) { response ->
when (response) {
is Resource.Success -> {
val getIFSCCodeResponse =
Gson().fromJson(
response.data?.toString(),
GetIFSCCodeResponse::class.java
)
getIFSCCodeResponse.Response.status_code.let { code ->
when (code) {
200 -> {
binding.edtBankName.setText(getIFSCCodeResponse.BANK)
binding.edtBankBranch.setText(getIFSCCodeResponse.BRANCH)
}
// 650 -> refreshToken()
else -> {
}
}
}
}
is Resource.Error -> {
response.message?.let { message ->
Log.e(" ", "An error occurred:$message")
}
}
is Resource.Loading -> {
}
}
}
}
}
private fun validateBank(): Boolean {
return if (binding.edtIFSC.text.toString().isEmpty()) { // EditText
commonErrorAutoCompleteMethod(
binding.edtIFSC,
binding.tlIFSC,
getString(R.string.emptyIFSCCode)
)
} else if (binding.edtIFSC.text.toString().length != 11) { // EditText
commonErrorAutoCompleteMethod(
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)
)
} else if (binding.edtBankBranch.text.toString().isEmpty()) { // EditText
commonErrorMethod(
binding.edtBankBranch,
binding.tlBankBranchName,
getString(R.string.emptyBranchName)
)
} else {
return true
}
}
private fun setUpRecyclerView() {
if ((activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.ClientBanklist?.isNotEmpty()!!) {
binding.rvClientBankList.layoutManager =
LinearLayoutManager(activity as BajajFdMainActivity)
bankListAdapter = BankListAdapter(
(activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.ClientBanklist,
(activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_ACCNO1
)
binding.rvClientBankList.adapter = bankListAdapter
}
}
private fun datePicker(edtDOB: TextInputEditText) {
val year = cal.get(Calendar.YEAR)
val month = cal.get(Calendar.MONTH)
val day = cal.get(Calendar.DAY_OF_MONTH)
val datePickerDialog = DatePickerDialog(
activity as BajajFdMainActivity, { _, year, monthOfYear, dayOfMonth ->
activity as BajajFdMainActivity, { _, years, monthOfYear, dayOfMonth ->
if (monthOfYear.toString().length == 1) {
"0".plus(monthOfYear)
}
edtDOB.setText(getDate(dayOfMonth.toString() + "-" + (monthOfYear + 1) + "-" + year))
edtDOB.setText(getDate(dayOfMonth.toString() + "-" + (monthOfYear + 1) + "-" + years))
edtDOB.setSelection(edtDOB.text.toString().length)
}, year, month, day
)
@ -730,6 +922,7 @@ class StepTwoBajajFDFragment : Fragment() {
}
@SuppressLint("ClickableViewAccessibility")
private fun titleApi() {
if (Common.isNetworkAvailable(activity as BajajFdMainActivity)) {
val getCodeRequest = GetCodeRequest()
@ -759,7 +952,7 @@ class StepTwoBajajFDFragment : Fragment() {
val titleText =
(activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.Client_Title
val newTitleText = "$titleText."
if (titleText.isNullOrEmpty()) {
if (titleText?.isEmpty()!!) {
binding.spTitle.setText(
adapter.getItem(0)?.Value,
false
@ -1112,7 +1305,7 @@ class StepTwoBajajFDFragment : Fragment() {
binding.spState.setAdapter(adapter)
val newTitleText =
(activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_STATE
if (newTitleText.isNullOrEmpty()) {
if (newTitleText?.isEmpty()!!) {
binding.spState.setText(
adapter.getItem(0)?.State_Name,
false
@ -1186,7 +1379,7 @@ class StepTwoBajajFDFragment : Fragment() {
val newTitleText =
(activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_CITY
if (newTitleText.isNullOrEmpty()) {
if (newTitleText?.isEmpty()!!) {
binding.spCity.setText(
adapter.getItem(0)?.city_name,
false
@ -1262,17 +1455,23 @@ class StepTwoBajajFDFragment : Fragment() {
val dialog = Dialog(activity as BajajFdMainActivity)
dialog.setContentView(R.layout.layout_bank_list)
dialog.setCancelable(true)
dialog.window!!
.setLayout(
WindowManager.LayoutParams.MATCH_PARENT,
WindowManager.LayoutParams.MATCH_PARENT
)
val rvClientList = dialog.findViewById<RecyclerView>(R.id.rvBankList)
rvClientList.layoutManager = LinearLayoutManager(activity as BajajFdMainActivity)
val tvCancel = dialog.findViewById<TextView>(R.id.tvCancel)
tvCancel.setOnClickListener {
dialog.dismiss()
}
if (bankList.isNotEmpty()) {
val bankListAdapter = RecommendedBankListAdapter(bankList, activity as BajajFdMainActivity)
val bankListAdapter = RecommendedBankListAdapter(bankList)
rvClientList.adapter = bankListAdapter
}
tvCancel.setOnClickListener{
dialog.dismiss()
}
dialog.show()
}
// validations
@ -1315,6 +1514,12 @@ class StepTwoBajajFDFragment : Fragment() {
binding.tlTitle,
getString(R.string.emptyTitle)
)
} else if (binding.spGender.text.toString().isEmpty()) { // Spinner
commonSpinnerErrorMethod(
binding.spGender,
binding.tlGender,
getString(R.string.emptyGender)
)
} else if (binding.edtFirstName.text.toString().isEmpty()) { // EditText
commonErrorMethod(
binding.edtFirstName,
@ -1351,22 +1556,18 @@ class StepTwoBajajFDFragment : Fragment() {
binding.tlLastName,
getString(R.string.validLastName)
)
} else if (binding.spGender.text.toString().isEmpty()) { // Spinner
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.spOccupation.text.toString().isEmpty()) { // EditText
commonSpinnerErrorMethod(
binding.spOccupation,
binding.tlOccupation,
getString(R.string.emptyOccupation)
)
} else if (binding.spIncome.text.toString().isEmpty()) { // EditText
commonSpinnerErrorMethod(
binding.spIncome,
binding.tlIncome,
getString(R.string.emptyIncome)
)
} else if (binding.edtQualification.text.toString().isEmpty()) { // EditText
commonErrorMethod(
binding.edtQualification,
@ -1379,6 +1580,10 @@ class StepTwoBajajFDFragment : Fragment() {
binding.tlMarital,
getString(R.string.emptyMaritalStatus)
)
} 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.edtAddressLine1.text.toString().isEmpty()) { // EditText
commonErrorMethod(
binding.edtAddressLine1,
@ -1417,23 +1622,41 @@ class StepTwoBajajFDFragment : Fragment() {
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
commonErrorMethod(binding.edtIFSC, binding.tlIFSC, getString(R.string.validIFSCCode))
} else if (binding.edtAccountNumber.text.toString().isEmpty()) { // EditText
} else if ((activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.ClientBanklist?.isEmpty()!! && binding.edtIFSC.text.toString()
.isEmpty()
) { // EditText
commonErrorAutoCompleteMethod(
binding.edtIFSC,
binding.tlIFSC,
getString(R.string.emptyIFSCCode)
)
} else if ((activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.ClientBanklist?.isEmpty()!! && binding.edtIFSC.text.toString()
.length != 11
) { // EditText
commonErrorAutoCompleteMethod(
binding.edtIFSC,
binding.tlIFSC,
getString(R.string.validIFSCCode)
)
} else if ((activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.ClientBanklist?.isEmpty()!! && binding.edtAccountNumber.text.toString()
.isEmpty()
) { // EditText
commonErrorMethod(
binding.edtAccountNumber,
binding.tlAccountNumber,
getString(R.string.emptyAccNo)
)
} else if (binding.edtBankName.text.toString().isEmpty()) { // EditText
} else if ((activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.ClientBanklist?.isEmpty()!! && 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 ((activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.ClientBanklist?.isEmpty()!! && binding.edtBankBranch.text.toString()
.isEmpty()
) { // EditText
commonErrorMethod(
binding.edtBankBranch,
binding.tlBankBranchName,


+ 10
- 0
app/src/main/java/com/nivesh/production/bajajfd/util/Common.kt View File

@ -154,6 +154,16 @@ class Common {
return false
}
fun commonErrorAutoCompleteMethod(
inputText: MaterialAutoCompleteTextView,
inputError: TextInputLayout,
strMessage: String
): Boolean {
inputText.requestFocus()
inputError.error = strMessage
return false
}
fun commonSpinnerErrorMethod(
inputText: MaterialAutoCompleteTextView,
inputError: TextInputLayout,


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

@ -111,4 +111,19 @@ class StepTwoBajajFDViewModel(private val mainRepository: MainRepository) : View
getFDBankListMutableData.postValue(handleRatesResponse(response))
}
val getifscCodeCheckMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
fun ifscCodeApi(ifsc : String) = viewModelScope.launch {
getifscCodeCheckMutableData.postValue(Resource.Loading())
val response = mainRepository.ifscCodeCheck(ifsc)
getifscCodeCheckMutableData.postValue(handleRatesResponse(response))
}
val getifscCodeDetailsCheckMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
fun ifscCodeDetailsApi(ifsc : String, token: String) = viewModelScope.launch {
getifscCodeDetailsCheckMutableData.postValue(Resource.Loading())
val response = mainRepository.ifscCodeDetailsCheck(ifsc, token)
getifscCodeDetailsCheckMutableData.postValue(handleRatesResponse(response))
}
}

+ 5
- 0
app/src/main/res/drawable/ic_add_icon.xml View File

@ -0,0 +1,5 @@
<vector android:height="24dp" android:tint="#6D6B6B"
android:viewportHeight="24" android:viewportWidth="24"
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="@android:color/white" android:pathData="M13,7h-2v4L7,11v2h4v4h2v-4h4v-2h-4L13,7zM12,2C6.48,2 2,6.48 2,12s4.48,10 10,10 10,-4.48 10,-10S17.52,2 12,2zM12,20c-4.41,0 -8,-3.59 -8,-8s3.59,-8 8,-8 8,3.59 8,8 -3.59,8 -8,8z"/>
</vector>

+ 5
- 0
app/src/main/res/drawable/ic_select_green.xml View File

@ -0,0 +1,5 @@
<vector android:height="24dp" android:tint="#69F324"
android:viewportHeight="24" android:viewportWidth="24"
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="@android:color/white" android:pathData="M12,6c3.31,0 6,2.69 6,6s-2.69,6 -6,6 -6,-2.69 -6,-6 2.69,-6 6,-6m0,-2c-4.42,0 -8,3.58 -8,8s3.58,8 8,8 8,-3.58 8,-8 -3.58,-8 -8,-8z"/>
</vector>

+ 5
- 0
app/src/main/res/drawable/ic_select_outline.xml View File

@ -0,0 +1,5 @@
<vector android:height="24dp" android:tint="#403D3D"
android:viewportHeight="24" android:viewportWidth="24"
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="@android:color/white" android:pathData="M12,6c3.31,0 6,2.69 6,6s-2.69,6 -6,6 -6,-2.69 -6,-6 2.69,-6 6,-6m0,-2c-4.42,0 -8,3.58 -8,8s3.58,8 8,8 8,-3.58 8,-8 -3.58,-8 -8,-8z"/>
</vector>

+ 132
- 87
app/src/main/res/layout/fragment_bajajfd_step_two.xml View File

@ -14,9 +14,9 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginBottom="@dimen/margin_80"
android:padding="@dimen/margin_5"
android:background="@color/NiveshColorAppBg"
android:fillViewport="true"
android:padding="@dimen/margin_5"
android:visibility="visible"
app:layout_constraintBottom_toTopOf="@+id/btnNext"
app:layout_constraintEnd_toEndOf="parent"
@ -72,8 +72,8 @@
style="@style/regularStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/margin_10"
android:layout_marginStart="@dimen/margin_10"
android:layout_marginTop="@dimen/margin_10"
android:layout_marginBottom="@dimen/margin_1"
android:text="@string/mandatoryField"
android:textColor="@color/greyColor2"
@ -91,8 +91,8 @@
android:paddingStart="@dimen/margin_18"
android:paddingEnd="@dimen/margin_15"
android:text="@string/personalDetails"
android:textSize="@dimen/text_size_14"
android:textColor="@color/black"
android:textSize="@dimen/text_size_14"
app:drawableEndCompat="@drawable/svg_down_arrow" />
<LinearLayout
@ -114,10 +114,10 @@
android:id="@+id/edtMobileNumber"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="@dimen/margin_15"
android:paddingBottom="@dimen/margin_15"
android:inputType="phone"
android:maxEms="10"
android:paddingTop="@dimen/margin_15"
android:paddingBottom="@dimen/margin_15"
android:textSize="@dimen/text_size_14" />
</com.google.android.material.textfield.TextInputLayout>
@ -134,11 +134,11 @@
android:id="@+id/edtDOB"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="@dimen/margin_15"
android:paddingBottom="@dimen/margin_15"
android:drawableEnd="@drawable/svg_cal"
android:inputType="none"
android:focusable="false"
android:inputType="none"
android:paddingTop="@dimen/margin_15"
android:paddingBottom="@dimen/margin_15"
android:textSize="@dimen/text_size_14" />
</com.google.android.material.textfield.TextInputLayout>
@ -155,35 +155,35 @@
android:id="@+id/edtPANNumber"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="@dimen/margin_15"
android:paddingBottom="@dimen/margin_15"
android:inputType="textCapCharacters"
android:maxEms="10"
android:paddingTop="@dimen/margin_15"
android:paddingBottom="@dimen/margin_15"
android:textSize="@dimen/text_size_14" />
</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:layout_gravity="end"
android:layout_marginEnd="@dimen/margin_15"
android:textColor="@color/greyColor2"
android:textSize="@dimen/text_size_10"
android:textColor="@color/greyColor2" />
android:visibility="gone" />
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/tlTitle"
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.ExposedDropdownMenu"
android:layout_width="match_parent"
android:layout_height="@dimen/margin_48"
android:layout_marginTop="@dimen/margin_10"
android:layout_marginBottom="@dimen/margin_5"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/margin_5"
android:layout_marginTop="@dimen/margin_10"
android:layout_marginEnd="@dimen/margin_5"
android:layout_marginBottom="@dimen/margin_5"
app:hintEnabled="false"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
@ -205,11 +205,11 @@
android:id="@+id/tlGender"
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.ExposedDropdownMenu"
android:layout_width="match_parent"
android:layout_height="@dimen/margin_48"
android:layout_marginTop="@dimen/margin_10"
android:layout_marginBottom="@dimen/margin_5"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/margin_5"
android:layout_marginTop="@dimen/margin_10"
android:layout_marginEnd="@dimen/margin_5"
android:layout_marginBottom="@dimen/margin_5"
app:hintEnabled="false"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
@ -239,10 +239,10 @@
android:id="@+id/edtFirstName"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="@dimen/margin_15"
android:paddingBottom="@dimen/margin_15"
android:inputType="text"
android:maxEms="40"
android:paddingTop="@dimen/margin_15"
android:paddingBottom="@dimen/margin_15"
android:textSize="@dimen/text_size_14" />
</com.google.android.material.textfield.TextInputLayout>
@ -260,10 +260,10 @@
android:id="@+id/edtMiddleName"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="@dimen/margin_15"
android:paddingBottom="@dimen/margin_15"
android:inputType="text"
android:maxEms="40"
android:paddingTop="@dimen/margin_15"
android:paddingBottom="@dimen/margin_15"
android:textSize="@dimen/text_size_14" />
</com.google.android.material.textfield.TextInputLayout>
@ -282,23 +282,22 @@
android:id="@+id/edtLastName"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="@dimen/margin_15"
android:paddingBottom="@dimen/margin_15"
android:inputType="text"
android:maxEms="40"
android:paddingTop="@dimen/margin_15"
android:paddingBottom="@dimen/margin_15"
android:textSize="@dimen/text_size_14" />
</com.google.android.material.textfield.TextInputLayout>
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/tlOccupation"
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.ExposedDropdownMenu"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:hintEnabled="false"
android:layout_margin="@dimen/margin_5">
android:layout_margin="@dimen/margin_5"
app:hintEnabled="false">
<com.google.android.material.textfield.MaterialAutoCompleteTextView
android:id="@+id/spOccupation"
@ -309,7 +308,7 @@
android:inputType="none"
android:labelFor="@+id/spInterestPayout"
android:textColorHint="#757575"
android:textSize="@dimen/text_size_14" />
android:textSize="@dimen/text_size_14" />
</com.google.android.material.textfield.TextInputLayout>
@ -318,8 +317,8 @@
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.ExposedDropdownMenu"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:hintEnabled="false"
android:layout_margin="@dimen/margin_5">
android:layout_margin="@dimen/margin_5"
app:hintEnabled="false">
<com.google.android.material.textfield.MaterialAutoCompleteTextView
android:id="@+id/spIncome"
@ -330,7 +329,7 @@
android:inputType="none"
android:labelFor="@+id/spInterestPayout"
android:textColorHint="#757575"
android:textSize="@dimen/text_size_14" />
android:textSize="@dimen/text_size_14" />
</com.google.android.material.textfield.TextInputLayout>
@ -346,10 +345,10 @@
android:id="@+id/edtQualification"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="@dimen/margin_15"
android:paddingBottom="@dimen/margin_15"
android:inputType="text"
android:maxEms="60"
android:paddingTop="@dimen/margin_15"
android:paddingBottom="@dimen/margin_15"
android:textSize="@dimen/text_size_14" />
</com.google.android.material.textfield.TextInputLayout>
@ -358,11 +357,11 @@
android:id="@+id/tlMarital"
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.ExposedDropdownMenu"
android:layout_width="match_parent"
android:layout_height="@dimen/margin_48"
android:layout_marginTop="@dimen/margin_10"
android:layout_marginBottom="@dimen/margin_5"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/margin_5"
android:layout_marginTop="@dimen/margin_10"
android:layout_marginEnd="@dimen/margin_5"
android:layout_marginBottom="@dimen/margin_5"
app:hintEnabled="false"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
@ -393,9 +392,9 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textEmailAddress"
android:maxEms="50"
android:paddingTop="@dimen/margin_15"
android:paddingBottom="@dimen/margin_15"
android:maxEms="50"
android:textSize="@dimen/text_size_14" />
</com.google.android.material.textfield.TextInputLayout>
@ -412,10 +411,10 @@
android:id="@+id/edtAddressLine1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="@dimen/margin_15"
android:paddingBottom="@dimen/margin_15"
android:inputType="text"
android:maxEms="100"
android:paddingTop="@dimen/margin_15"
android:paddingBottom="@dimen/margin_15"
android:textSize="@dimen/text_size_14" />
</com.google.android.material.textfield.TextInputLayout>
@ -432,10 +431,10 @@
android:id="@+id/edtAddressLine2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="@dimen/margin_15"
android:paddingBottom="@dimen/margin_15"
android:inputType="text"
android:maxEms="100"
android:paddingTop="@dimen/margin_15"
android:paddingBottom="@dimen/margin_15"
android:textSize="@dimen/text_size_14" />
</com.google.android.material.textfield.TextInputLayout>
@ -452,10 +451,10 @@
android:id="@+id/edtAddressLine3"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="@dimen/margin_15"
android:paddingBottom="@dimen/margin_15"
android:inputType="text"
android:maxEms="100"
android:paddingTop="@dimen/margin_15"
android:paddingBottom="@dimen/margin_15"
android:textSize="@dimen/text_size_14" />
</com.google.android.material.textfield.TextInputLayout>
@ -478,7 +477,7 @@
android:inputType="none"
android:labelFor="@+id/tlState"
android:textColorHint="#757575"
android:textSize="@dimen/text_size_14"/>
android:textSize="@dimen/text_size_14" />
</com.google.android.material.textfield.TextInputLayout>
@ -487,8 +486,8 @@
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.ExposedDropdownMenu"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:hintEnabled="false"
android:layout_margin="@dimen/margin_5">
android:layout_margin="@dimen/margin_5"
app:hintEnabled="false">
<com.google.android.material.textfield.MaterialAutoCompleteTextView
android:id="@+id/spCity"
@ -516,11 +515,11 @@
android:id="@+id/edtPinCode"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="number"
android:maxEms="6"
android:paddingTop="@dimen/margin_15"
android:paddingBottom="@dimen/margin_15"
android:inputType="number"
android:textSize="@dimen/text_size_14"
android:maxEms="6" />
android:textSize="@dimen/text_size_14" />
</com.google.android.material.textfield.TextInputLayout>
@ -541,7 +540,6 @@
app:drawableEndCompat="@drawable/svg_down_arrow" />
<LinearLayout
android:id="@+id/llNomineeDetail"
android:layout_width="match_parent"
@ -553,11 +551,11 @@
android:id="@+id/tlNomineeTitle"
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.ExposedDropdownMenu"
android:layout_width="match_parent"
android:layout_height="@dimen/margin_48"
android:layout_marginTop="@dimen/margin_10"
android:layout_marginBottom="@dimen/margin_5"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/margin_5"
android:layout_marginTop="@dimen/margin_10"
android:layout_marginEnd="@dimen/margin_5"
android:layout_marginBottom="@dimen/margin_5"
app:hintEnabled="false"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
@ -588,10 +586,10 @@
android:id="@+id/edtNomineeFirstName"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="@dimen/margin_15"
android:paddingBottom="@dimen/margin_15"
android:inputType="text"
android:maxEms="100"
android:paddingTop="@dimen/margin_15"
android:paddingBottom="@dimen/margin_15"
android:textSize="@dimen/text_size_14" />
</com.google.android.material.textfield.TextInputLayout>
@ -608,10 +606,10 @@
android:id="@+id/edtNomineeMiddleName"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="@dimen/margin_15"
android:paddingBottom="@dimen/margin_15"
android:inputType="text"
android:maxEms="100"
android:paddingTop="@dimen/margin_15"
android:paddingBottom="@dimen/margin_15"
android:textSize="@dimen/text_size_14" />
</com.google.android.material.textfield.TextInputLayout>
@ -628,10 +626,10 @@
android:id="@+id/edtNomineeLastName"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="@dimen/margin_15"
android:paddingBottom="@dimen/margin_15"
android:inputType="text"
android:maxEms="100"
android:paddingTop="@dimen/margin_15"
android:paddingBottom="@dimen/margin_15"
android:textSize="@dimen/text_size_14" />
</com.google.android.material.textfield.TextInputLayout>
@ -649,10 +647,10 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:drawableEnd="@drawable/svg_cal"
android:focusable="false"
android:inputType="none"
android:paddingTop="@dimen/margin_15"
android:paddingBottom="@dimen/margin_15"
android:inputType="none"
android:focusable="false"
android:textSize="@dimen/text_size_14" />
</com.google.android.material.textfield.TextInputLayout>
@ -661,11 +659,11 @@
android:id="@+id/tlNomineeRelation"
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.ExposedDropdownMenu"
android:layout_width="match_parent"
android:layout_height="@dimen/margin_48"
android:layout_marginTop="@dimen/margin_10"
android:layout_marginBottom="@dimen/margin_5"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/margin_5"
android:layout_marginTop="@dimen/margin_10"
android:layout_marginEnd="@dimen/margin_5"
android:layout_marginBottom="@dimen/margin_5"
app:hintEnabled="false"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
@ -704,10 +702,10 @@
android:id="@+id/edtGuardianName"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="@dimen/margin_15"
android:paddingBottom="@dimen/margin_15"
android:inputType="text"
android:maxEms="60"
android:paddingTop="@dimen/margin_15"
android:paddingBottom="@dimen/margin_15"
android:textSize="@dimen/text_size_14" />
</com.google.android.material.textfield.TextInputLayout>
@ -724,10 +722,10 @@
android:id="@+id/edtGuardianAge"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="@dimen/margin_15"
android:paddingBottom="@dimen/margin_15"
android:inputType="text"
android:maxEms="60"
android:paddingTop="@dimen/margin_15"
android:paddingBottom="@dimen/margin_15"
android:textSize="@dimen/text_size_14" />
</com.google.android.material.textfield.TextInputLayout>
@ -736,11 +734,11 @@
android:id="@+id/tlGuardianRelation"
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.ExposedDropdownMenu"
android:layout_width="match_parent"
android:layout_height="@dimen/margin_48"
android:layout_marginTop="@dimen/margin_10"
android:layout_marginBottom="@dimen/margin_5"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/margin_5"
android:layout_marginTop="@dimen/margin_10"
android:layout_marginEnd="@dimen/margin_5"
android:layout_marginBottom="@dimen/margin_5"
app:hintEnabled="false"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
@ -771,10 +769,10 @@
android:id="@+id/edtGuardianAddress"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="@dimen/margin_15"
android:paddingBottom="@dimen/margin_15"
android:inputType="text"
android:maxEms="60"
android:paddingTop="@dimen/margin_15"
android:paddingBottom="@dimen/margin_15"
android:textSize="@dimen/text_size_14" />
</com.google.android.material.textfield.TextInputLayout>
@ -791,10 +789,10 @@
android:id="@+id/edtGuardianPinCode"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="@dimen/margin_15"
android:paddingBottom="@dimen/margin_15"
android:inputType="number"
android:maxEms="60"
android:paddingTop="@dimen/margin_15"
android:paddingBottom="@dimen/margin_15"
android:textSize="@dimen/text_size_14" />
</com.google.android.material.textfield.TextInputLayout>
@ -815,12 +813,45 @@
android:textSize="@dimen/text_size_14"
app:drawableRightCompat="@drawable/svg_down_arrow" />
<!-- RecyclerView for bankList and Add Bank-->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="@dimen/margin_5"
android:orientation="vertical">
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rvClientBankList"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<TextView
android:id="@+id/addBankDetail"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/margin_10"
android:drawablePadding="@dimen/margin_4"
android:padding="@dimen/margin_5"
android:text="@string/add_new_account"
android:textColor="@color/black"
android:textSize="@dimen/text_size_18"
android:textStyle="bold"
app:drawableEndCompat="@drawable/ic_add_icon">
</TextView>
</LinearLayout>
<!-- Add Bank Field-->
<LinearLayout
android:id="@+id/llBankDetails"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="@dimen/margin_10">
android:padding="@dimen/margin_10"
android:visibility="gone">
<TextView
android:id="@+id/tvAccountType"
@ -864,10 +895,12 @@
android:layout_margin="@dimen/margin_5"
android:hint="@string/enterIfscCode">
<com.google.android.material.textfield.TextInputEditText
<com.google.android.material.textfield.MaterialAutoCompleteTextView
android:id="@+id/edtIFSC"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingStart="@dimen/margin_15"
android:paddingEnd="@dimen/margin_15"
android:paddingTop="@dimen/margin_15"
android:paddingBottom="@dimen/margin_15"
android:textSize="@dimen/text_size_14" />
@ -888,7 +921,7 @@
android:layout_height="wrap_content"
android:paddingTop="@dimen/margin_15"
android:paddingBottom="@dimen/margin_15"
android:textSize="@dimen/text_size_14"/>
android:textSize="@dimen/text_size_14" />
</com.google.android.material.textfield.TextInputLayout>
@ -929,23 +962,36 @@
</com.google.android.material.textfield.TextInputLayout>
<com.google.android.material.button.MaterialButton
android:id="@+id/btnAddBank"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="end"
android:layout_marginTop="@dimen/margin_5"
android:layout_marginEnd="@dimen/margin_10"
android:layout_marginBottom="@dimen/margin_5"
android:backgroundTint="@color/colorPrimaryDark"
android:text="@string/add"
android:textColor="@color/white"
android:textSize="@dimen/text_size_14" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/margin_5"
android:background="@color/greyColor3"
android:orientation="horizontal"
android:paddingStart="@dimen/margin_18"
android:paddingEnd="@dimen/margin_15"
android:layout_marginTop="@dimen/margin_5"
android:background="@color/greyColor3">
android:paddingEnd="@dimen/margin_15">
<TextView
android:id="@+id/tvPaymentMode"
style="@style/semiBoldStyle"
android:layout_weight="0.4"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.4"
android:text="@string/paymentMode"
android:textColor="@color/black"
android:textSize="@dimen/text_size_14" />
@ -955,13 +1001,12 @@
style="@style/regularStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="end"
android:layout_gravity="end"
android:gravity="end"
android:padding="@dimen/margin_3"
android:text="@string/eligibleBankOption"
android:textColor="@color/blue"
android:textSize="@dimen/text_size_14"
/>
android:textSize="@dimen/text_size_14" />
</LinearLayout>


+ 96
- 0
app/src/main/res/layout/item_bank_list_preview.xml View File

@ -0,0 +1,96 @@
<?xml version="1.0" encoding="utf-8"?>
<com.google.android.material.card.MaterialCardView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:cardBackgroundColor="@color/white"
app:cardCornerRadius="3dp"
app:cardElevation="3dp"
app:cardMaxElevation="1dp"
app:cardPreventCornerOverlap="true"
app:cardUseCompatPadding="true">
<RelativeLayout
android:padding="@dimen/margin_3"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<ImageView
android:id="@+id/bankSelector"
android:layout_width="@dimen/margin_50"
android:layout_height="@dimen/margin_50"
android:layout_centerVertical="true"
android:layout_marginStart="@dimen/margin_10"
android:layout_marginEnd="@dimen/margin_10"
android:layout_marginBottom="@dimen/margin_10"
android:padding="@dimen/margin_5"
android:contentDescription="@null" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toEndOf="@id/bankSelector"
android:orientation="vertical">
<TextView
android:id="@+id/tvBankName"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/margin_4"
android:textColor="@color/black"
android:textSize="16sp"
android:textStyle="bold" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
android:orientation="horizontal">
<TextView
style="@style/regularStyle"
android:id="@+id/bankAcNo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="@dimen/text_size_14"
android:text="@string/accountNo" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tvBankAccountNumber"
style="@style/regularStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="@dimen/text_size_14"
android:text="" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
android:layout_marginBottom="@dimen/margin_2"
android:orientation="horizontal">
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/bankIfsc"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="@style/regularStyle"
android:textSize="@dimen/text_size_14"
android:text="@string/acIfsc" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tvBankIFSC"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="@style/regularStyle"
android:textSize="@dimen/text_size_14"
android:text="" />
</LinearLayout>
</LinearLayout>
</RelativeLayout>
</com.google.android.material.card.MaterialCardView>

+ 27
- 16
app/src/main/res/layout/layout_bank_list.xml View File

@ -1,43 +1,54 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto">
android:layout_height="match_parent">
<TextView
style="@style/BoldStyle"
android:id="@+id/tvSelectClient"
style="@style/BoldStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
android:padding="@dimen/margin_15"
android:gravity="center_vertical"
android:padding="@dimen/margin_15"
android:text="@string/information"
android:textColor="@color/red"
app:layout_constraintTop_toTopOf="parent"
android:textSize="@dimen/text_size_16" />
android:textSize="@dimen/text_size_16"
app:layout_constraintBottom_toTopOf="@+id/rvBankList"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" />
<TextView
style="@style/BoldStyle"
android:id="@+id/tvCancel"
style="@style/BoldStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintEnd_toEndOf="parent"
android:layout_marginEnd="@dimen/margin_10"
android:padding="@dimen/margin_10"
android:gravity="center_vertical"
android:padding="@dimen/margin_10"
android:text="@string/x"
android:textColor="@color/black"
app:layout_constraintTop_toTopOf="parent"
android:textSize="@dimen/text_size_19" />
android:textSize="@dimen/text_size_19"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<androidx.recyclerview.widget.RecyclerView
<View
android:id="@+id/view"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@+id/tvSelectClient"
android:layout_width="0dp"
android:background="@color/greyColor2"
android:layout_height="@dimen/margin_1"/>
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rvBankList"
android:layout_width="match_parent"
android:layout_height="0dp"
android:scrollbars="vertical"/>
android:layout_height="match_parent"
android:layout_marginTop="@dimen/margin_60"
android:layout_marginBottom="@dimen/margin_5"
android:scrollbars="none"
app:layout_constraintTop_toBottomOf="@+id/tvSelectClient" />
</androidx.constraintlayout.widget.ConstraintLayout>

+ 18
- 0
app/src/main/res/layout/row_bank_list.xml View File

@ -0,0 +1,18 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="@dimen/margin_5"
android:orientation="vertical">
<TextView
android:background="@drawable/rounded_corner_with_line"
android:id="@+id/txtYear"
android:padding="@dimen/margin_10"
android:layout_width="match_parent"
android:layout_height="@dimen/margin_35"
android:gravity="center"
android:textColor="@color/black"
android:textSize="@dimen/text_size_12" />
</LinearLayout>

+ 34
- 22
app/src/main/res/values-hi-rIN/strings.xml View File

@ -4,7 +4,6 @@
<string name="app">App</string>
<string name="source">nivesh</string>
<string name="step1">Step 1</string>
<string name="step2">Step 2</string>
<string name="step3">Step 3</string>
@ -42,8 +41,9 @@
<string name="bajajFD">BajajFD</string>
<string name="category">InterestPayoutFreq</string>
<string name="language">EN</string>
<string name="minMaxValidation">Min, 12 months, Max. 60 months</string>
<string name="minMaxValidation">Min. 12 months, Max. 60 months</string>
<string name="minAmountCategory">MINAmount</string>
<string name="MaxAmountCategory">MAXAmount</string>
<!-- Validations -->
<string name="emptyAmount">Please enter amount</string>
@ -55,6 +55,7 @@
<string name="emptyInterestPayout">Please select Interest Payout</string>
<string name="emptyInterestTenure">Please select Investment Tenure</string>
<!-- Step 2 -->
<string name="mandatoryField">All fields are mandatory other then optional</string>
<string name="personalDetails">Personal Details</string>
@ -75,12 +76,26 @@
<string name="enterAddress1">Enter Address Line 1</string>
<string name="enterAddress2">Enter Address Line 2</string>
<string name="enterAddress3">Enter Address Line 3</string>
<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>
<string name="salutationCategory">Salutation</string>
<string name="genderCategory">Gender</string>
<string name="maritalCategory">MaritalStatus</string>
<string name="occupationCategory">Occupation</string>
<string name="relationshipCategory">NomineeRelationship</string>
<string name="selectIncome">Select Income</string>
<string name="selectState">Select State</string>
<string name="selectCity">Select City</string>
<string name="annualIncome">AnnualIncome</string>
<string name="information">Information</string>
<string name="x">X</string>
<string name="accountNo">A/c No:</string>
<string name="acIfsc">A/c IFSC :</string>
<string name="add">Add</string>
<!-- Nominee Details -->
<string name="nomineeDetailsOptional">Nominee Details (Optional)</string>
@ -119,11 +134,14 @@
<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>
<string name="emptyFirstName">Please enter First Name</string>
<string name="validFirstName">Please enter valid First Name</string>
@ -133,13 +151,17 @@
<string name="emptyLastName">Please enter Last name</string>
<string name="validLastName">Please enter valid Last Name</string>
<string name="emptyEmail">Please enter email address</string>
<string name="validEmail">Please enter valid email address</string>
<string name="emptyOccupation">Please select occupation</string>
<string name="emptyIncome">Please select income</string>
<string name="emptyQualification">Please select Qualification</string>
<string name="emptyMaritalStatus">Please select marital status </string>
<string name="emptyRelation">Please select relation </string>
<string name="emptyRelationName">Please enter relation name</string>
<string name="emptyEmail">Please enter email address</string>
<string name="validEmail">Please enter valid email address</string>
<string name="emptyAddressLine1">Please enter address 1</string>
<string name="emptyAddressLine2">Please enter address 2</string>
<string name="emptyAddressLine3">Please enter address 3</string>
@ -150,14 +172,16 @@
<string name="emptyPinCode">Please enter PinCode</string>
<string name="validPinCode">Please enter valid PinCode</string>
<string name="emptyAccNo">Please enter valid account number</string>
<string name="emptyAccNo">Please enter account number</string>
<string name="emptyIFSCCode">Please enter IFSC code</string>
<string name="validIFSCCode">Please enter valid IFSC code</string>
<string name="emptyBankName">Please select bank name</string>
<string name="emptyBranchName">Please enter branch name</string>
<string name="emptyBankName">Please select bank name</string>
<string name="emptyPaymentMode">Please select payment mode</string>
<!-- Step Three -->
<string name="uploadKycDocuments">Upload KYC Documents</string>
<string name="addressProofType">Address Proof Type <font color='#E9161E'>*</font></string>
@ -182,6 +206,7 @@
<string name="politicallyExposedPerson">Are you a politically exposed person</string>
<string name="outsideOfIndia">I am not a citizen, national or tax resident of any country outside of India</string>
<string name="termsCondition">I undertake to inform company any change in status of my nationality or tax residence. I am making investment from my Indian resident Individual Savings bank account. I/ We confirm that 1/we have read and understood the detailed terms and conditions annexed to this Application including the interest rate and other charges. I have gone through the financials and other statements/particulars representations furnished/made by the company and after careful consideration I am making the deposit with the company at my own risk and volition. I have read and agree to the <font color='#5077FF'>Terms &amp; conditions</font></string>
<string name="validTermsConditions">Please accept terms &amp; conditions.</string>
@ -207,22 +232,9 @@
<string name="onceYouClick">Once you click on PAY, your order will be placed and you will be redirected to payment gateway.</string>
<string name="seniorCitizen">Senior Citizen</string>
<string name="nonSeniorCitizen">Non Senior Citizen</string>
<string name="add_new_account">Add New Account</string>
<string name="minAmountCategory">MINAmount</string>
<string name="MaxAmountCategory">MAXAmount</string>
<string name="ok">OK</string>
<string name="cancel">Cancel</string>
<string name="salutationCategory">Salutation</string>
<string name="genderCategory">Gender</string>
<string name="maritalCategory">MaritalStatus</string>
<string name="occupationCategory">Occupation</string>
<string name="relationshipCategory">NomineeRelationship</string>
<string name="selectIncome">Select Income</string>
<string name="selectState">Select State</string>
<string name="selectCity">Select City</string>
<string name="annualIncome">AnnualIncome</string>
<string name="information">Information</string>
<string name="x">X</string>
</resources>

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

@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="add_new_account">Add New Account</string>
</resources>

+ 9
- 1
app/src/main/res/values/strings.xml View File

@ -91,6 +91,11 @@
<string name="selectCity">Select City</string>
<string name="annualIncome">AnnualIncome</string>
<string name="information">Information</string>
<string name="x">X</string>
<string name="accountNo">A/c No:</string>
<string name="acIfsc">A/c IFSC :</string>
<string name="add">Add</string>
<!-- Nominee Details -->
<string name="nomineeDetailsOptional">Nominee Details (Optional)</string>
@ -150,6 +155,8 @@
<string name="validEmail">Please enter valid email address</string>
<string name="emptyOccupation">Please select occupation</string>
<string name="emptyIncome">Please select income</string>
<string name="emptyQualification">Please select Qualification</string>
<string name="emptyMaritalStatus">Please select marital status </string>
<string name="emptyRelation">Please select relation </string>
@ -225,9 +232,10 @@
<string name="onceYouClick">Once you click on PAY, your order will be placed and you will be redirected to payment gateway.</string>
<string name="seniorCitizen">Senior Citizen</string>
<string name="nonSeniorCitizen">Non Senior Citizen</string>
<string name="add_new_account">Add New Account</string>
<string name="ok">OK</string>
<string name="cancel">Cancel</string>
<string name="x">X</string>
<array name="addressType">


Loading…
Cancel
Save

Powered by TurnKey Linux.