diff --git a/app/src/main/java/com/nivesh/production/bajajfd/adapter/PaymentModeAdapter.kt b/app/src/main/java/com/nivesh/production/bajajfd/adapter/PaymentModeAdapter.kt index 0bada10..bde88fd 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/adapter/PaymentModeAdapter.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/adapter/PaymentModeAdapter.kt @@ -16,6 +16,7 @@ class PaymentModeAdapter( 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 tvUpiMsg: TextView = itemView.findViewById(R.id.tvUpiMsg) } private var checkedPosition: Int = -2 @@ -39,6 +40,11 @@ class PaymentModeAdapter( if (bankList != null) { holder.itemView.apply { holder.tvBankName.text = bankList.Value + if (bankList.Value.equals("UPI")){ + holder.tvUpiMsg.text = context.getString(R.string.upto1LakhOnly) + }else{ + holder.tvUpiMsg.text = "" + } if (selectedAccount == bankList.Value && checkedPosition == -2 ) { diff --git a/app/src/main/java/com/nivesh/production/bajajfd/interfaces/ApiInterface.kt b/app/src/main/java/com/nivesh/production/bajajfd/interfaces/ApiInterface.kt index c8f0758..6c5c891 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/interfaces/ApiInterface.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/interfaces/ApiInterface.kt @@ -146,24 +146,13 @@ interface ApiInterface { ): Response @GET("WebAPI_Bajaj/api/GetFDBankList?FDProvider=Bajaj") - suspend fun bankListApi( - @Header("token") - token: String - ): Response - - @GET("WebApi/api/GetIFSC_Autofill") - suspend fun getIFSCApi( - @Query("prefix") - ifsc : String + suspend fun bankListApi(@Header("token") token: String): Response - ): Response + @GET("WebApi/api/GetIFSC_Autofill?") + suspend fun getIFSCApi(@Query("prefix") ifsc : String): Response - @GET("WebApi_Bajaj/api/GetBankDetailsFromIFSC") - suspend fun getIFSCDetailsApi( - @Query("ifsc") - ifsc : String, - - ): Response + @GET("WebApi_Bajaj/api/GetBankDetailsFromIFSC?") + suspend fun getIFSCDetailsApi(@Query("ifscCode") ifsc : String): Response @POST("WebApi_Bajaj/api/GetCodes") suspend fun payModeApi( 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 6950612..7260ac6 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 @@ -59,6 +59,11 @@ class StepThreeBajajFDFragment : BaseFragment() { private var selectedImage: String? = "" private var checkPANUploadFile: Boolean? = false private var checkPhotoUploadFile: Boolean? = false + private var actionType: AccountCaptureType? = null + + enum class AccountCaptureType { + MAIN_PAN_UPLOAD,MAIN_PHOTO_UPLOAD,FIRST_UPLOAD,SECOND_UPLOAD + } private val requestPermission = registerForActivityResult( ActivityResultContracts.RequestPermission() @@ -70,7 +75,6 @@ class StepThreeBajajFDFragment : BaseFragment() { } } - override fun onCreateView( inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle? @@ -123,24 +127,28 @@ class StepThreeBajajFDFragment : BaseFragment() { binding.btnPANUpload.setOnClickListener { checkPANUploadFile = true checkPhotoUploadFile = false + actionType = AccountCaptureType.MAIN_PAN_UPLOAD selectImage("PAN") } binding.btnPhotoUpload.setOnClickListener { checkPhotoUploadFile = true checkPANUploadFile = false + actionType = AccountCaptureType.MAIN_PHOTO_UPLOAD selectImage("Photograph") } binding.btnAadhaarFrontUpload.setOnClickListener { checkPANUploadFile = false checkPhotoUploadFile = false + actionType = AccountCaptureType.FIRST_UPLOAD selectImage(binding.spDocType.text.toString()) } binding.btnAadhaarBackUpload.setOnClickListener { checkPANUploadFile = false checkPhotoUploadFile = false + actionType = AccountCaptureType.SECOND_UPLOAD selectImage(binding.spDocType.text.toString()) } @@ -148,7 +156,7 @@ class StepThreeBajajFDFragment : BaseFragment() { AdapterView.OnItemClickListener { parent, _, position, _ -> val getCodes: GetCodes = parent.getItemAtPosition(position) as GetCodes - when (getCodes.Value) { + when (getCodes.Label) { resources.getString(R.string.aadhar) -> setAadhaarUploadLayout() else -> { @@ -257,6 +265,14 @@ class StepThreeBajajFDFragment : BaseFragment() { } else { selectedImage?.let { mapImage.put(it, front) } } + when(actionType){ + AccountCaptureType.MAIN_PAN_UPLOAD -> binding.ivPan.visibility = View.VISIBLE + AccountCaptureType.MAIN_PHOTO_UPLOAD -> binding.ivPhotograph.visibility = View.VISIBLE + AccountCaptureType.FIRST_UPLOAD -> binding.ivAadharFront.visibility = View.VISIBLE + else ->{ + binding.ivAadharBack.visibility = View.VISIBLE + } + } } private fun encodedFileToBase64(fileName: File?) { @@ -465,6 +481,25 @@ class StepThreeBajajFDFragment : BaseFragment() { private fun validate(): Boolean { + if (binding.spDocType.text.equals(R.string.aadhar) && mapImage.size < 3) { + Common.showDialogValidation( + activity as BajajFdMainActivity, + "Upload Aadhaar Images" + ) + return false + } else if (!binding.spDocType.text.equals(R.string.aadhar) && mapImage.size == 3) { + Common.showDialogValidation( + activity as BajajFdMainActivity, + "Upload Aadhaar Images" + ) + return false + } else if (mapImage.size < 3) { + Common.showDialogValidation( + activity as BajajFdMainActivity, + "Upload All Images" + ) + return false + } return true } @@ -500,5 +535,4 @@ class StepThreeBajajFDFragment : BaseFragment() { fun displayReceivedData(createFDApplicationResponse: CreateFDApplicationResponse) { uniqueId = createFDApplicationResponse.Response.FDCreationDetailsResponse.UniqueId } - } \ No newline at end of file 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 5d94619..d2ea3ed 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 @@ -17,6 +17,7 @@ import android.widget.RadioButton import android.widget.TextView import androidx.core.content.ContextCompat import androidx.lifecycle.ViewModelProvider +import androidx.recyclerview.widget.GridLayoutManager import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView import com.google.android.material.textfield.TextInputEditText @@ -46,7 +47,6 @@ import com.nivesh.production.bajajfd.util.Constants.Companion.token import com.nivesh.production.bajajfd.util.Resource import com.nivesh.production.bajajfd.viewModel.StepTwoBajajFDViewModel import java.util.* -import kotlin.math.log class StepTwoBajajFDFragment : BaseFragment() { @@ -481,12 +481,6 @@ class StepTwoBajajFDFragment : BaseFragment() { override fun onTextChanged(s: CharSequence?, start: Int, before: Int, count: Int) { removeError(binding.tlIFSC) ifscCodeCheckApi(s.toString()) - - Log.e("ifsc", "-->" + s.toString()) - - - - } }) binding.edtAccountNumber.addTextChangedListener(object : TextWatcher { @@ -800,7 +794,8 @@ class StepTwoBajajFDFragment : BaseFragment() { if (listOfIFSC.size > 0) { val enteredText = binding.edtIFSC.getText() Log.d("bankifsc $enteredText",enteredText.toString()) - binding.edtIFSC.setText(listOfIFSC[position]) + // binding.edtIFSC.setText(listOfIFSC[position]) + binding.edtIFSC.setText(adapter.getItem(position).toString()) binding.edtIFSC.setSelection(binding.edtIFSC.text.toString().length) getIFSCDetailsApi(enteredText.toString()) } @@ -846,9 +841,9 @@ class StepTwoBajajFDFragment : BaseFragment() { } private fun getIFSCDetailsApi(ifscCode: String) { + stepTwoBajajFDViewModel.ifscCodeDetailsApi( ifscCode, - token, activity as BajajFdMainActivity ) stepTwoBajajFDViewModel.getifscCodeDetailsCheckMutableData.observe(viewLifecycleOwner) { response -> @@ -875,6 +870,7 @@ class StepTwoBajajFDFragment : BaseFragment() { } } } + is Resource.Error -> { response.message?.let { message -> Common.showDialogValidation(activity as BajajFdMainActivity, message) @@ -885,13 +881,6 @@ class StepTwoBajajFDFragment : BaseFragment() { } is Resource.DataError -> { - response.errorCode?.let { errorCode -> - Common.showDialogValidation(activity as BajajFdMainActivity, errorCode.toString()) - - - - } - } } } @@ -1056,11 +1045,10 @@ class StepTwoBajajFDFragment : BaseFragment() { ) binding.spTitle.setAdapter(adapter) - var titleText = + val titleText = (activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.Client_Title val newTitleText = "$titleText." - titleText="Mr." - if (titleText?.isEmpty()!! ) { + if (titleText?.isEmpty()!!) { binding.spTitle.setText( adapter.getItem(0)?.Value, false @@ -1182,7 +1170,7 @@ class StepTwoBajajFDFragment : BaseFragment() { private fun setUpRecyclerViewPaymentMode(listOfPayMode: List) { binding.rvPaymentMode.layoutManager = - LinearLayoutManager(activity as BajajFdMainActivity) + GridLayoutManager(activity as BajajFdMainActivity,2) paymentModeAdapter = PaymentModeAdapter( listOfPayMode, listOfPayMode[0].Value diff --git a/app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepTwoBajajFDViewModel.kt b/app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepTwoBajajFDViewModel.kt index 0189913..7d5c39e 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepTwoBajajFDViewModel.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepTwoBajajFDViewModel.kt @@ -138,7 +138,7 @@ class StepTwoBajajFDViewModel(private val mainRepository: MainRepository) : View } val getifscCodeDetailsCheckMutableData: MutableLiveData> = MutableLiveData() - fun ifscCodeDetailsApi(ifsc : String, token: String,activity : Activity) = viewModelScope.launch( + fun ifscCodeDetailsApi(ifsc : String,activity : Activity) = viewModelScope.launch( Common.handleError(activity) ) { if (Common.isNetworkAvailable(activity)) { diff --git a/app/src/main/res/drawable/ic_baseline_check_24.xml b/app/src/main/res/drawable/ic_baseline_check_24.xml new file mode 100644 index 0000000..eb14651 --- /dev/null +++ b/app/src/main/res/drawable/ic_baseline_check_24.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_bajajfd_step_five.xml b/app/src/main/res/layout/fragment_bajajfd_step_five.xml index 56ca8b1..effefb9 100644 --- a/app/src/main/res/layout/fragment_bajajfd_step_five.xml +++ b/app/src/main/res/layout/fragment_bajajfd_step_five.xml @@ -139,21 +139,21 @@ - + + + + + + + + + + + + + + + + app:layout_constraintStart_toStartOf="parent" /> + app:layout_constraintStart_toStartOf="parent" /> \ 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 8886248..9467bfd 100644 --- a/app/src/main/res/layout/fragment_bajajfd_step_three.xml +++ b/app/src/main/res/layout/fragment_bajajfd_step_three.xml @@ -114,6 +114,20 @@ app:layout_constraintTop_toBottomOf="@+id/tvUploadKYCDocument" tools:ignore="DuplicateSpeakableTextCheck" /> + + + + + +