diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index c5df2bd..ba0157d 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -4,6 +4,20 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/java/com/nivesh/production/bajajfd/model/DataObject.kt b/app/src/main/java/com/nivesh/production/bajajfd/model/DataObject.kt
index 499aa70..bdf0cbb 100644
--- a/app/src/main/java/com/nivesh/production/bajajfd/model/DataObject.kt
+++ b/app/src/main/java/com/nivesh/production/bajajfd/model/DataObject.kt
@@ -3,15 +3,15 @@ package com.nivesh.production.bajajfd.model
import java.io.Serializable
data class DataObject(
- val BSE_State_Code: String,
- val CAMS_statecode: String,
- val Country_Id: Int,
- val State_Code: String,
- val State_Id: Int,
- val State_Name: String,
- val signzyCode: String
+ var BSE_State_Code: String? = "",
+ var CAMS_statecode: String? = "",
+ var Country_Id: Int? = 0,
+ var State_Code: String?= "",
+ var State_Id: Int? = 0,
+ var State_Name: String? = "",
+ var signzyCode: String? = ""
): Serializable {
override fun toString(): String {
- return State_Name
+ return State_Name.toString()
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/nivesh/production/bajajfd/model/DocumentUpload.kt b/app/src/main/java/com/nivesh/production/bajajfd/model/DocumentUpload.kt
new file mode 100644
index 0000000..fd4ee1d
--- /dev/null
+++ b/app/src/main/java/com/nivesh/production/bajajfd/model/DocumentUpload.kt
@@ -0,0 +1,10 @@
+package com.nivesh.production.bajajfd.model
+
+data class DocumentUpload(
+ val Description: String? = null,
+ val DocumentType: String? = null,
+ val FDProvider: String? = null,
+ val ImageEncodeToBase64: String? = null,
+ val NiveshClientCode: String? = null,
+ val UniqueId: String? = null
+)
\ No newline at end of file
diff --git a/app/src/main/java/com/nivesh/production/bajajfd/model/GetCodes.kt b/app/src/main/java/com/nivesh/production/bajajfd/model/GetCodes.kt
index a93541e..e8c7329 100644
--- a/app/src/main/java/com/nivesh/production/bajajfd/model/GetCodes.kt
+++ b/app/src/main/java/com/nivesh/production/bajajfd/model/GetCodes.kt
@@ -5,7 +5,7 @@ data class GetCodes(
val Value: String
) {
override fun toString(): String {
- return Value
+ return Label
}
diff --git a/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepThreeBajajFDFragment.kt b/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepThreeBajajFDFragment.kt
index 1c019b8..22ec05b 100644
--- a/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepThreeBajajFDFragment.kt
+++ b/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepThreeBajajFDFragment.kt
@@ -1,23 +1,56 @@
package com.nivesh.production.bajajfd.ui.fragment
+import android.Manifest
+import android.app.ActionBar.LayoutParams
+import android.app.Dialog
+import android.content.pm.PackageManager
+import android.graphics.Bitmap
+import android.net.Uri
import android.os.Bundle
+import android.provider.MediaStore
+import android.util.Log
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
+import android.widget.AdapterView
+import android.widget.ArrayAdapter
+import android.widget.ImageView
+import android.widget.TextView
+import androidx.activity.result.ActivityResultLauncher
+import androidx.activity.result.contract.ActivityResultContracts
+import androidx.core.app.ActivityCompat
+import androidx.core.content.ContextCompat
+import androidx.core.content.FileProvider
import androidx.fragment.app.Fragment
-import androidx.lifecycle.ViewModelProvider
-import com.nivesh.production.bajajfd.interfaces.BajajFDInterface
+import androidx.lifecycle.lifecycleScope
+import com.google.gson.Gson
+import com.nivesh.production.bajajfd.BuildConfig
+import com.nivesh.production.bajajfd.R
import com.nivesh.production.bajajfd.databinding.FragmentBajajfdStepThreeBinding
+import com.nivesh.production.bajajfd.interfaces.BajajFDInterface
+import com.nivesh.production.bajajfd.model.DocumentUpload
+import com.nivesh.production.bajajfd.model.GetCodeRequest
+import com.nivesh.production.bajajfd.model.GetCodeResponse
+import com.nivesh.production.bajajfd.model.GetCodes
import com.nivesh.production.bajajfd.ui.activity.BajajFdMainActivity
+import com.nivesh.production.bajajfd.util.Common
+import com.nivesh.production.bajajfd.util.Constants
+import com.nivesh.production.bajajfd.util.Resource
import com.nivesh.production.bajajfd.viewModel.StepThreeBajajFDViewModel
+import java.io.File
class StepThreeBajajFDFragment : Fragment() {
- private lateinit var stepThreeBajajFDViewModel: StepThreeBajajFDViewModel
+ private var latestTmpUri: Uri? = null
private var _binding: FragmentBajajfdStepThreeBinding? = null
private val binding get() = _binding!!
+ private lateinit var listOfDocType: List
private lateinit var bajajFDInterface: BajajFDInterface
+ private lateinit var stepThreeBajajFDViewModel: StepThreeBajajFDViewModel
+
+ private lateinit var dialog: Dialog
+
companion object {
fun getInstance(fdInterface: BajajFDInterface): StepThreeBajajFDFragment {
val stepTwoFragment = StepThreeBajajFDFragment()
@@ -25,10 +58,38 @@ class StepThreeBajajFDFragment : Fragment() {
return stepTwoFragment
}
}
+
private fun setApi(bajajFDInterfaces: BajajFDInterface) {
bajajFDInterface = bajajFDInterfaces
}
+ private val selectImageIntent = registerForActivityResult(ActivityResultContracts.GetContent())
+ { uri ->
+ val bitmap: Bitmap = MediaStore.Images.Media.getBitmap(context?.contentResolver, uri)
+ binding.iv.setImageBitmap(bitmap)
+ }
+
+ private val takeImageResult =
+ registerForActivityResult(ActivityResultContracts.TakePicture()) { isSuccess ->
+ if (isSuccess) {
+ latestTmpUri?.let { uri ->
+// binding.iv.setImageURI(uri)
+ uploadDocument()
+ }
+ }
+ }
+
+ private val requestPermission = registerForActivityResult(
+ ActivityResultContracts.RequestPermission()
+ ) { isGranted: Boolean ->
+ if (isGranted) {
+ Log.e("permission:", "Granted")
+ } else {
+ Log.e("permission:", "Denied")
+ }
+ }
+
+
override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?
@@ -36,24 +97,218 @@ class StepThreeBajajFDFragment : Fragment() {
_binding = FragmentBajajfdStepThreeBinding.inflate(inflater, container, false)
val root = binding.root
+ stepThreeBajajFDViewModel = (activity as BajajFdMainActivity).stepThreeBajajFDViewModel
-
- binding.btnNext.setOnClickListener{
- if (validate()){
+ binding.btnNext.setOnClickListener {
+ if (validate()) {
}
}
- binding.btnBack.setOnClickListener{
+ binding.btnBack.setOnClickListener {
(activity as BajajFdMainActivity).binding.viewPager.currentItem = 1
}
+
+ binding.btnAadhaarFrontUpload.setOnClickListener {
+ selectImage()
+ }
+
+ binding.spDocType.onItemClickListener =
+ AdapterView.OnItemClickListener { parent, _, position, _ ->
+
+ val getCodes: GetCodes = parent.getItemAtPosition(position) as GetCodes
+ when (getCodes.Value) {
+ resources.getString(R.string.aadhar) ->
+ setAadhaarUploadLayout()
+ else -> {
+ setOtherUploadLayout(getCodes.Value)
+ }
+ }
+ }
+
+ docTypeApi()
return root
}
- private fun validate(): Boolean {
+ private fun selectImage() {
+ dialog = Dialog(activity as BajajFdMainActivity)
+ dialog.setContentView(R.layout.camera_gallery_layout)
+ val ivCut: ImageView = dialog.findViewById(R.id.ivCut)
+ val tvGallery: TextView = dialog.findViewById(R.id.tvGallery)
+ val tvCamera: TextView = dialog.findViewById(R.id.tvCamera)
+
+ ivCut.setOnClickListener {
+ dialog.cancel()
+ }
+
+ tvGallery.setOnClickListener {
+ dialog.cancel()
+ when {
+ ContextCompat.checkSelfPermission(
+ activity as BajajFdMainActivity,
+ Manifest.permission.READ_EXTERNAL_STORAGE
+ ) == PackageManager.PERMISSION_GRANTED -> {
+ selectImageIntent.launch("image/*")
+ }
+
+ ActivityCompat.shouldShowRequestPermissionRationale(
+ activity as BajajFdMainActivity,
+ Manifest.permission.READ_EXTERNAL_STORAGE
+ ) -> {
+ requestPermission.launch(
+ Manifest.permission.READ_EXTERNAL_STORAGE
+ )
+ }
+
+ else -> {
+ requestPermission.launch(
+ Manifest.permission.READ_EXTERNAL_STORAGE
+ )
+ }
+ }
+ }
+
+ tvCamera.setOnClickListener {
+ dialog.cancel()
+ when {
+ ContextCompat.checkSelfPermission(
+ activity as BajajFdMainActivity,
+ Manifest.permission.CAMERA
+ ) == PackageManager.PERMISSION_GRANTED -> {
+ takeImage()
+ }
+
+ ActivityCompat.shouldShowRequestPermissionRationale(
+ activity as BajajFdMainActivity,
+ Manifest.permission.CAMERA
+ ) -> {
+ requestPermission.launch(
+ Manifest.permission.CAMERA
+ )
+ }
+ else -> {
+ requestPermission.launch(
+ Manifest.permission.CAMERA
+ )
+ }
+ }
+ }
+
+ dialog.show()
+ dialog.window?.setLayout(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT)
+ }
+
+ private fun checkCameraStoragePermission(
+ permission: String,
+ selectImageIntent: ActivityResultLauncher
+ ) {
+ TODO("Not yet implemented")
+ }
+
+ private fun setOtherUploadLayout(itemName: String) {
+ binding.tvAadhaarFront.text = itemName.plus(" Front *")
+ if (binding.tvAadhaarBack.visibility == View.VISIBLE) binding.tvAadhaarBack.visibility =
+ View.INVISIBLE
+ if (binding.btnAadhaarBackUpload.visibility == View.VISIBLE) binding.btnAadhaarBackUpload.visibility =
+ View.INVISIBLE
+ }
+
+ private fun setAadhaarUploadLayout() {
+ binding.tvAadhaarFront.text = resources.getString(R.string.aadhaarFront)
+ binding.tvAadhaarBack.text = resources.getString(R.string.aadhaarBack)
+
+ binding.tvAadhaarBack.visibility = View.VISIBLE
+ binding.btnAadhaarBackUpload.visibility = View.VISIBLE
+
+ binding.tvAadhaarFront.visibility = View.VISIBLE
+ binding.btnAadhaarFrontUpload.visibility = View.VISIBLE
+ }
+
+ private fun uploadDocument() {
+ if (Common.isNetworkAvailable(activity as BajajFdMainActivity)) {
+ val documentUpload = DocumentUpload()
+ }
+ }
+
+ private fun docTypeApi() {
+ if (Common.isNetworkAvailable(activity as BajajFdMainActivity)) {
+ val getCodeRequest = GetCodeRequest()
+ getCodeRequest.ProductName = getString(R.string.bajajFD)
+ getCodeRequest.Category = getString(R.string.docType)
+ getCodeRequest.Language = getString(R.string.language)
+ getCodeRequest.InputValue = ""
+ stepThreeBajajFDViewModel.titleApi(getCodeRequest, Constants.token)
+ stepThreeBajajFDViewModel.getTitleMutableData.observe(viewLifecycleOwner) { response ->
+ when (response) {
+ is Resource.Success -> {
+ Log.e("response", "-->$response")
+ val getCodeResponse: GetCodeResponse =
+ Gson().fromJson(response.data?.toString(), GetCodeResponse::class.java)
+ getCodeResponse.Response.StatusCode.let { code ->
+ when (code) {
+ 200 -> {
+ listOfDocType = getCodeResponse.Response.GetCodesList
+ if (listOfDocType.isNotEmpty()) {
+ val adapter = ArrayAdapter(
+ activity as BajajFdMainActivity,
+ R.layout.spinner_dropdown,
+ listOfDocType
+ )
+ binding.spDocType.setAdapter(adapter)
+ binding.spDocType.setText(
+ adapter.getItem(0)?.Value,
+ false
+ )
+ setOtherUploadLayout(listOfDocType[0].Value)
+ }
+ }
+ // 650 -> refreshToken()
+ else -> {}
+ }
+ }
+ }
+
+ is Resource.Error -> {
+ response.message?.let { message ->
+ Log.e(" ", "An error occurred:$message")
+ }
+ }
+ is Resource.Loading -> {
+
+ }
+ }
+ }
+ }
+ }
+
+
+ private fun validate(): Boolean {
return false
}
+ private fun takeImage() {
+ lifecycleScope.launchWhenStarted {
+ getTmpFileUri().let { uri ->
+ latestTmpUri = uri
+ takeImageResult.launch(uri)
+ }
+ }
+ }
+
+ private fun getTmpFileUri(): Uri {
+ val tmpFile =
+ File.createTempFile("tmp_image_file", ".png", requireActivity().cacheDir).apply {
+ createNewFile()
+ deleteOnExit()
+ }
+
+ return FileProvider.getUriForFile(
+ requireActivity(),
+ "${BuildConfig.APPLICATION_ID}.provider",
+ tmpFile
+ )
+ }
+
override fun onDestroyView() {
super.onDestroyView()
_binding = null
diff --git a/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepTwoBajajFDFragment.kt b/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepTwoBajajFDFragment.kt
index c7c0eb0..d74a1e1 100644
--- a/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepTwoBajajFDFragment.kt
+++ b/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepTwoBajajFDFragment.kt
@@ -67,6 +67,7 @@ class StepTwoBajajFDFragment : Fragment() {
private lateinit var stepTwoBajajFDViewModel: StepTwoBajajFDViewModel
private lateinit var bankListAdapter: BankListAdapter
+ private lateinit var stateObject: DataObject
companion object {
fun getInstance(fdInterface: BajajFDInterface): StepTwoBajajFDFragment {
@@ -98,7 +99,9 @@ class StepTwoBajajFDFragment : Fragment() {
listOfStates = ArrayList()
listOfIFSC = ArrayList()
- rbPaymentMode = RadioButton(activity as BajajFdMainActivity)
+ stateObject = DataObject()
+
+ rbPaymentMode = RadioButton(activity as BajajFdMainActivity)
// Personal Details
binding.edtMobileNumber.filters = arrayOf(LengthFilter(10))
@@ -121,7 +124,7 @@ class StepTwoBajajFDFragment : Fragment() {
binding.edtMobileNumber.setText((activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.mobile)
// create an OnDateSetListener
- if (!(activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_DOB.isNullOrEmpty()){
+ if (!(activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_DOB.isNullOrEmpty()) {
binding.edtDOB.setText(getDate((activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_DOB.toString()))
}
binding.edtDOB.setOnClickListener {
@@ -259,7 +262,6 @@ class StepTwoBajajFDFragment : Fragment() {
}
})
binding.edtAddressLine1.setText((activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_ADD1)
-
binding.edtAddressLine2.addTextChangedListener(object : TextWatcher {
override fun afterTextChanged(s: Editable?) {
@@ -273,7 +275,6 @@ class StepTwoBajajFDFragment : Fragment() {
}
})
binding.edtAddressLine2.setText((activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_ADD2)
-
binding.edtAddressLine3.addTextChangedListener(object : TextWatcher {
override fun afterTextChanged(s: Editable?) {
@@ -288,8 +289,9 @@ class StepTwoBajajFDFragment : Fragment() {
})
binding.edtAddressLine3.setText((activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_ADD3)
- binding.spState.setOnItemClickListener { _, _, _, _ ->
+ binding.spState.setOnItemClickListener { parent, _, position, _ ->
removeError(binding.tlState)
+ stateObject = parent.getItemAtPosition(position) as DataObject
}
binding.spCity.setOnItemClickListener { _, _, _, _ ->
removeError(binding.tlCity)
@@ -371,14 +373,24 @@ class StepTwoBajajFDFragment : Fragment() {
}
}
- if (!(activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.Nominees?.get(0)?.NomineeDOB.isNullOrEmpty()){
- binding.edtNomineeDOB.setText(getDate((activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.Nominees?.get(0)?.NomineeDOB.toString()))
+ if (!(activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.Nominees?.get(
+ 0
+ )?.NomineeDOB.isNullOrEmpty()
+ ) {
+ binding.edtNomineeDOB.setText(
+ getDate(
+ (activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.Nominees?.get(
+ 0
+ )?.NomineeDOB.toString()
+ )
+ )
}
binding.edtNomineeDOB.setOnClickListener {
removeError(binding.tlNomineeDOB)
datePicker(binding.edtNomineeDOB)
}
+ binding.spNomineeRelation.setText((activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.Nominees?.get(0)?.NomineeRelationship)
binding.spNomineeRelation.setOnItemClickListener { _, _, _, _ ->
removeError(binding.tlNomineeRelation)
}
@@ -598,8 +610,8 @@ class StepTwoBajajFDFragment : Fragment() {
binding.edtAddressLine3.text.toString()
(activity as BajajFdMainActivity).applicantDetails.ApplicantCity =
binding.spCity.text.toString()
- (activity as BajajFdMainActivity).applicantDetails.ApplicantState =
- binding.spState.text.toString()
+ // (activity as BajajFdMainActivity).applicantDetails.ApplicantState = binding.spState.text.toString()
+ (activity as BajajFdMainActivity).applicantDetails.ApplicantState = stateObject.State_Code
(activity as BajajFdMainActivity).applicantDetails.ApplicantCountry = "India"
(activity as BajajFdMainActivity).applicantDetails.ApplicantPincode =
binding.edtPinCode.text.toString().toInt()
@@ -657,7 +669,7 @@ class StepTwoBajajFDFragment : Fragment() {
(activity as BajajFdMainActivity).nomineeGuardianDetails.GuardianState = ""
if (binding.edtGuardianPinCode.text.toString().isEmpty()) {
(activity as BajajFdMainActivity).nomineeGuardianDetails.GuardianPincode = 0
- }else{
+ } else {
(activity as BajajFdMainActivity).nomineeGuardianDetails.GuardianPincode =
binding.edtGuardianPinCode.text.toString().toInt()
}
@@ -682,14 +694,20 @@ class StepTwoBajajFDFragment : Fragment() {
(activity as BajajFdMainActivity).fdBankDetails.PaymentMode =
rbPaymentMode.text.toString()
- (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).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
+ (activity as BajajFdMainActivity).createFDRequest.CreateFDApplicationRequest =
+ (activity as BajajFdMainActivity).createFDApplicantRequest
Log.e(
"CreateFDRequest",
"-->" + Gson().toJson((activity as BajajFdMainActivity).createFDRequest)
@@ -858,8 +876,11 @@ class StepTwoBajajFDFragment : Fragment() {
if (monthOfYear.toString().length == 1) {
"0".plus(monthOfYear)
}
- // edtDOB.setText(getDate(dayOfMonth.toString() + "-" + (monthOfYear + 1) + "-" + years))
- edtDOB.setText(years.toString().plus("-").plus(monthOfYear + 1).plus("-").plus(dayOfMonth.toString()))
+ // edtDOB.setText(getDate(dayOfMonth.toString() + "-" + (monthOfYear + 1) + "-" + years))
+ edtDOB.setText(
+ years.toString().plus("-").plus(monthOfYear + 1).plus("-")
+ .plus(dayOfMonth.toString())
+ )
edtDOB.setSelection(edtDOB.text.toString().length)
}, year, month, day
)
@@ -873,8 +894,10 @@ class StepTwoBajajFDFragment : Fragment() {
private fun panCheckApi() {
if (Common.isNetworkAvailable(activity as BajajFdMainActivity)) {
val panCheck = PanCheckRequest()
- panCheck.clientCode = (activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_CODE
- panCheck.subBrokerCode = (activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.sub_broker_code
+ panCheck.clientCode =
+ (activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_CODE
+ panCheck.subBrokerCode =
+ (activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.sub_broker_code
panCheck.panNumber = binding.edtPANNumber.text.toString()
panCheck.mobileNumber = ""
stepTwoBajajFDViewModel.panCheck(panCheck, token)
@@ -1317,11 +1340,15 @@ class StepTwoBajajFDFragment : Fragment() {
false
)
cityListApi(adapter.getItem(0)?.State_Id)
+
+ stateObject = adapter.getItem(0) as DataObject
+
} else {
for (title in listOfStates) {
if (title.State_Code == newTitleText) {
binding.spState.setText(title.State_Name, false)
cityListApi(title.State_Id)
+ // val stateObject: DataObject = adapter.getItem(0) as DataObject
break
}
}
diff --git a/app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepThreeBajajFDViewModel.kt b/app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepThreeBajajFDViewModel.kt
index 74522d4..ed0803b 100644
--- a/app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepThreeBajajFDViewModel.kt
+++ b/app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepThreeBajajFDViewModel.kt
@@ -2,6 +2,7 @@ package com.nivesh.production.bajajfd.viewModel
import androidx.lifecycle.*
import com.google.gson.JsonObject
+import com.nivesh.production.bajajfd.model.GetCodeRequest
import com.nivesh.production.bajajfd.model.GetRatesRequest
import com.nivesh.production.bajajfd.repositories.MainRepository
import com.nivesh.production.bajajfd.util.Resource
@@ -27,7 +28,12 @@ class StepThreeBajajFDViewModel(private val mainRepository: MainRepository) : Vi
}
-
+ val getTitleMutableData: MutableLiveData> = MutableLiveData()
+ fun titleApi(getCodeRequest: GetCodeRequest, token: String) = viewModelScope.launch {
+ getTitleMutableData.postValue(Resource.Loading())
+ val response = mainRepository.titleCheck(getCodeRequest, token)
+ getTitleMutableData.postValue(handleRatesResponse(response))
+ }
}
\ No newline at end of file
diff --git a/app/src/main/res/drawable/camera.png b/app/src/main/res/drawable/camera.png
new file mode 100644
index 0000000..6ea6bca
Binary files /dev/null and b/app/src/main/res/drawable/camera.png differ
diff --git a/app/src/main/res/drawable/gallery.png b/app/src/main/res/drawable/gallery.png
new file mode 100644
index 0000000..d309f3e
Binary files /dev/null and b/app/src/main/res/drawable/gallery.png differ
diff --git a/app/src/main/res/drawable/svg_camera.xml b/app/src/main/res/drawable/svg_camera.xml
new file mode 100644
index 0000000..48a8a01
--- /dev/null
+++ b/app/src/main/res/drawable/svg_camera.xml
@@ -0,0 +1,6 @@
+
+
+
+
diff --git a/app/src/main/res/drawable/svg_close.xml b/app/src/main/res/drawable/svg_close.xml
new file mode 100644
index 0000000..844b6b6
--- /dev/null
+++ b/app/src/main/res/drawable/svg_close.xml
@@ -0,0 +1,5 @@
+
+
+
diff --git a/app/src/main/res/drawable/svg_image.xml b/app/src/main/res/drawable/svg_image.xml
new file mode 100644
index 0000000..3ffb603
--- /dev/null
+++ b/app/src/main/res/drawable/svg_image.xml
@@ -0,0 +1,5 @@
+
+
+
diff --git a/app/src/main/res/layout/camera_gallery_layout.xml b/app/src/main/res/layout/camera_gallery_layout.xml
new file mode 100644
index 0000000..eda34a7
--- /dev/null
+++ b/app/src/main/res/layout/camera_gallery_layout.xml
@@ -0,0 +1,71 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_bajajfd_step_three.xml b/app/src/main/res/layout/fragment_bajajfd_step_three.xml
index d95444d..1e251d4 100644
--- a/app/src/main/res/layout/fragment_bajajfd_step_three.xml
+++ b/app/src/main/res/layout/fragment_bajajfd_step_three.xml
@@ -81,6 +81,71 @@
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent" />
+
+
+
+
+
+
+
+
+ app:layout_constraintTop_toBottomOf="@+id/btnPhotoUpload">
+ android:textSize="@dimen/text_size_14"
+ tools:layout_editor_absoluteY="230dp" />
+
+ app:layout_constraintStart_toStartOf="@+id/tvAadhaarBack"
+ app:layout_constraintTop_toTopOf="@+id/btnAadhaarFrontUpload" />
-
-
+ tools:ignore="DuplicateSpeakableTextCheck" />
+ app:layout_constraintTop_toBottomOf="@+id/btnAadhaarFrontUpload"
+ app:layout_constraintVertical_bias="0.0" />
+ app:layout_constraintBottom_toBottomOf="@+id/btnAadhaarBackUpload"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="@+id/btnAadhaarBackUpload"
+ app:layout_constraintVertical_bias="0.406" />
-
-
-
-
-
diff --git a/app/src/main/res/values-hi-rIN/strings.xml b/app/src/main/res/values-hi-rIN/strings.xml
index 06fab1c..796287a 100644
--- a/app/src/main/res/values-hi-rIN/strings.xml
+++ b/app/src/main/res/values-hi-rIN/strings.xml
@@ -190,6 +190,9 @@
PAN Upload *
Photo Upload *
Upload File
+ Photograph *
+ PAN *
+ Doctype
@@ -236,5 +239,8 @@
OK
Cancel
+ Aadhar
+ Gallery
+ Camera
\ No newline at end of file
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index d099d57..7c16532 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -190,6 +190,9 @@
PAN Upload *
Photo Upload *
Upload File
+ Photograph *
+ PAN *
+ Doctype
@@ -236,7 +239,11 @@
OK
Cancel
+ Aadhar
+ Select Option
+ Gallery
+ Camera
- Aadhaar Card
diff --git a/app/src/main/res/xml/file_paths.xml b/app/src/main/res/xml/file_paths.xml
new file mode 100644
index 0000000..92d7b3a
--- /dev/null
+++ b/app/src/main/res/xml/file_paths.xml
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file