diff --git a/app/src/main/java/com/nivesh/production/bajajfd/ui/activity/BajajFdMainActivity.kt b/app/src/main/java/com/nivesh/production/bajajfd/ui/activity/BajajFdMainActivity.kt index d7d5bbc..e9c8e6c 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/ui/activity/BajajFdMainActivity.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/ui/activity/BajajFdMainActivity.kt @@ -88,7 +88,7 @@ class BajajFdMainActivity : BaseActivity(), BajajFDInterface { val fdStepsCount = FDStepsCountRequest() fdStepsCount.FDProvider = getString(R.string.bajaj) fdStepsCount.NiveshClientCode = "8872" - viewModel.getStepsCount(fdStepsCount, token) + viewModel.getStepsCount(fdStepsCount, token, this) viewModel.getStepsCountMutableData.observe(this) { response -> when (response) { is Resource.Success -> { @@ -121,6 +121,9 @@ class BajajFdMainActivity : BaseActivity(), BajajFDInterface { } is Resource.Loading -> { + } + is Resource.DataError -> { + } } } @@ -158,7 +161,7 @@ class BajajFdMainActivity : BaseActivity(), BajajFDInterface { userRequest.deviceInfo = deviceInfo getClientDetailsRequest.UserRequest = userRequest Log.e("getClientDetailRequest", "-->" + Gson().toJson(getClientDetailsRequest)) - viewModel.getClientDetails(getClientDetailsRequest, token) + viewModel.getClientDetails(getClientDetailsRequest, token, this) viewModel.getClientDetailsMutableData.observe(this) { response -> when (response) { is Resource.Success -> { @@ -189,6 +192,9 @@ class BajajFdMainActivity : BaseActivity(), BajajFDInterface { } is Resource.Loading -> { + } + is Resource.DataError -> { + } } } @@ -296,7 +302,7 @@ class BajajFdMainActivity : BaseActivity(), BajajFDInterface { getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_PAN checkFDKYCRequest.NiveshClientCode = getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_CODE.toString() - viewModel.checkFDKYC(checkFDKYCRequest, token) + viewModel.checkFDKYC(checkFDKYCRequest, token, this) viewModel.getFDKYCMutableData.observe(this) { response -> when (response) { is Resource.Success -> { @@ -330,6 +336,9 @@ class BajajFdMainActivity : BaseActivity(), BajajFDInterface { } is Resource.Loading -> { + } + is Resource.DataError -> { + } } } diff --git a/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepFourBajajFDFragment.kt b/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepFourBajajFDFragment.kt index 0a4a03f..6237cc2 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepFourBajajFDFragment.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepFourBajajFDFragment.kt @@ -89,42 +89,43 @@ class StepFourBajajFDFragment : BaseFragment() { } private fun saveFDOtherData(data: SaveFDOtherDataRequest, payUrl: String, value: String) { - if (Common.isNetworkAvailable(activity as BajajFdMainActivity)) { - stepFourBajajFDViewModel.saveFDOtherData(data, token) - stepFourBajajFDViewModel.getFDOtherMutableData.observe(viewLifecycleOwner) { response -> - when (response) { - is Resource.Success -> { - Log.e("response", "-->" + response.data.toString()) - val saveFDOtherDataResponse: SaveFDOtherDataResponse = - Gson().fromJson( - response.data?.toString(), - SaveFDOtherDataResponse::class.java - ) - saveFDOtherDataResponse.Response.StatusCode.let { code -> - when (code) { - 200 -> { - (activity as BajajFdMainActivity).stepFourApi(payUrl, value) - // paymentDialog(payUrl, value) - } - // 650 -> refreshToken() - else -> { - showDialogValidation( - activity as BajajFdMainActivity, - saveFDOtherDataResponse.Response.Errors[0].ErrorMessage - ) - } + stepFourBajajFDViewModel.saveFDOtherData(data, token, activity as BajajFdMainActivity) + stepFourBajajFDViewModel.getFDOtherMutableData.observe(viewLifecycleOwner) { response -> + when (response) { + is Resource.Success -> { + Log.e("response", "-->" + response.data.toString()) + val saveFDOtherDataResponse: SaveFDOtherDataResponse = + Gson().fromJson( + response.data?.toString(), + SaveFDOtherDataResponse::class.java + ) + saveFDOtherDataResponse.Response.StatusCode.let { code -> + when (code) { + 200 -> { + (activity as BajajFdMainActivity).stepFourApi(payUrl, value) + // paymentDialog(payUrl, value) + } + // 650 -> refreshToken() + else -> { + showDialogValidation( + activity as BajajFdMainActivity, + saveFDOtherDataResponse.Response.Errors[0].ErrorMessage + ) } } } + } - is Resource.Error -> { - response.message?.let { message -> - showDialogValidation(activity as BajajFdMainActivity, message) - } + is Resource.Error -> { + response.message?.let { message -> + showDialogValidation(activity as BajajFdMainActivity, message) } - is Resource.Loading -> { + } + is Resource.Loading -> { + + } + is Resource.DataError -> { - } } } } @@ -139,51 +140,55 @@ class StepFourBajajFDFragment : BaseFragment() { private fun customerListApi() { - if (Common.isNetworkAvailable(activity as BajajFdMainActivity)) { - val getCodeRequest = GetCodeRequest() - getCodeRequest.ProductName = getString(R.string.bajajFD) - getCodeRequest.Category = getString(R.string.customerCategory) - getCodeRequest.Language = getString(R.string.language) - getCodeRequest.InputValue = "" - stepFourBajajFDViewModel.paymentModeApi(getCodeRequest, Constants.token) - stepFourBajajFDViewModel.getPaymentModeMutableData.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 -> { - if (getCodeResponse.Response.GetCodesList.isNotEmpty()) { - listOfCustomer = getCodeResponse.Response.GetCodesList - setUpRecyclerView(listOfCustomer) - } - } - // 650 -> refreshToken() - else -> { - showDialogValidation( - activity as BajajFdMainActivity, - getCodeResponse.Response.Message - ) + + val getCodeRequest = GetCodeRequest() + getCodeRequest.ProductName = getString(R.string.bajajFD) + getCodeRequest.Category = getString(R.string.customerCategory) + getCodeRequest.Language = getString(R.string.language) + getCodeRequest.InputValue = "" + stepFourBajajFDViewModel.paymentModeApi( + getCodeRequest, + Constants.token, + activity as BajajFdMainActivity + ) + stepFourBajajFDViewModel.getPaymentModeMutableData.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 -> { + if (getCodeResponse.Response.GetCodesList.isNotEmpty()) { + listOfCustomer = getCodeResponse.Response.GetCodesList + setUpRecyclerView(listOfCustomer) } } + // 650 -> refreshToken() + else -> { + showDialogValidation( + activity as BajajFdMainActivity, + getCodeResponse.Response.Message + ) + } } } + } - is Resource.Error -> { - response.message?.let { message -> - showDialogValidation(activity as BajajFdMainActivity, message) - } + is Resource.Error -> { + response.message?.let { message -> + showDialogValidation(activity as BajajFdMainActivity, message) } - is Resource.Loading -> { + } + is Resource.Loading -> { - } } - } + is Resource.DataError -> { + } + } } - } private fun setUpRecyclerView(getCustomerList: MutableList) { @@ -201,7 +206,11 @@ class StepFourBajajFDFragment : BaseFragment() { getFDDetailsRequest.NiveshClientCode = (mActivity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_CODE getFDDetailsRequest.UniqueId = uniqueId - stepFourBajajFDViewModel.getFDDetails(getFDDetailsRequest, Constants.token) + stepFourBajajFDViewModel.getFDDetails( + getFDDetailsRequest, + Constants.token, + activity as BajajFdMainActivity + ) stepFourBajajFDViewModel.getFDDetailsMutableData.observe(viewLifecycleOwner) { response -> when (response) { is Resource.Success -> { @@ -245,6 +254,9 @@ class StepFourBajajFDFragment : BaseFragment() { } is Resource.Loading -> { + } + is Resource.DataError -> { + } } } diff --git a/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepOneBajajFDFragment.kt b/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepOneBajajFDFragment.kt index 179a9e3..634e7a0 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepOneBajajFDFragment.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepOneBajajFDFragment.kt @@ -178,7 +178,7 @@ class StepOneBajajFDFragment : BaseFragment() { getCodeRequest.Category = getString(R.string.category) getCodeRequest.Language = getString(R.string.language) getCodeRequest.InputValue = "" - stepOneBajajFDViewModel.getCode(getCodeRequest, token) + stepOneBajajFDViewModel.getCode(getCodeRequest, token, activity as BajajFdMainActivity) stepOneBajajFDViewModel.getCodeMutableData.observe(viewLifecycleOwner) { response -> when (response) { is Resource.Success -> { @@ -223,6 +223,9 @@ class StepOneBajajFDFragment : BaseFragment() { } is Resource.Loading -> { + } + is Resource.DataError -> { + } } } @@ -234,7 +237,7 @@ class StepOneBajajFDFragment : BaseFragment() { getCodeRequest.Category = getString(R.string.minAmountCategory) getCodeRequest.Language = getString(R.string.language) getCodeRequest.InputValue = "" - stepOneBajajFDViewModel.getMinAmount(getCodeRequest, token) + stepOneBajajFDViewModel.getMinAmount(getCodeRequest, token, activity as BajajFdMainActivity) stepOneBajajFDViewModel.getMinAmountMutableData.observe(viewLifecycleOwner) { response -> when (response) { is Resource.Success -> { @@ -270,6 +273,9 @@ class StepOneBajajFDFragment : BaseFragment() { } is Resource.Loading -> { + } + is Resource.DataError -> { + } } } @@ -281,7 +287,7 @@ class StepOneBajajFDFragment : BaseFragment() { getCodeRequest.Category = getString(R.string.MaxAmountCategory) getCodeRequest.Language = getString(R.string.language) getCodeRequest.InputValue = "" - stepOneBajajFDViewModel.getMaxAmount(getCodeRequest, token) + stepOneBajajFDViewModel.getMaxAmount(getCodeRequest, token, activity as BajajFdMainActivity) stepOneBajajFDViewModel.getMaxAmountMutableData.observe(viewLifecycleOwner) { response -> when (response) { is Resource.Success -> { @@ -311,6 +317,9 @@ class StepOneBajajFDFragment : BaseFragment() { } is Resource.Loading -> { + } + is Resource.DataError -> { + } } } @@ -336,55 +345,59 @@ class StepOneBajajFDFragment : BaseFragment() { } private fun maturityAmountApi(tenure: Int, interest: Double) { - if (Common.isNetworkAvailable(activity as BajajFdMainActivity)) { - if (binding.edtAmount.text.toString().length >= 4 && interest != 0.0 && tenure != 0 && binding.spInterestPayout.text.toString() - .isNotEmpty() - ) { - val maturityAmountRequest = GetMaturityAmountRequest() - maturityAmountRequest.FDProvider = getString(R.string.bajaj) - maturityAmountRequest.FDAmount = binding.edtAmount.text.toString().toInt() - maturityAmountRequest.Frequency = binding.spInterestPayout.text.toString() - maturityAmountRequest.Tenure = tenure - maturityAmountRequest.Interest = interest - stepOneBajajFDViewModel.getMaturityAmount(maturityAmountRequest) - stepOneBajajFDViewModel.getMaturityAmountMutableData.observe(viewLifecycleOwner) { response -> - when (response) { - is Resource.Success -> { - val getMaturityAmountResponse = - Gson().fromJson( - response.data?.toString(), - GetCalculateMaturityAmountResponse::class.java - ) - getMaturityAmountResponse.Response.StatusCode.let { code -> - when (code) { - 200 -> { - binding.tvMaturityAmount.text = - getString(R.string.rs).plus(" ").plus( - getMaturityAmountResponse.Response.MaturityAmount.toString() - ) - } - // 650 -> refreshToken() - else -> { - Common.showDialogValidation( - activity as BajajFdMainActivity, - getMaturityAmountResponse.Response.Errors[0].ErrorMessage + if (binding.edtAmount.text.toString().length >= 4 && interest != 0.0 && tenure != 0 && binding.spInterestPayout.text.toString() + .isNotEmpty() + ) { + val maturityAmountRequest = GetMaturityAmountRequest() + maturityAmountRequest.FDProvider = getString(R.string.bajaj) + maturityAmountRequest.FDAmount = binding.edtAmount.text.toString().toInt() + maturityAmountRequest.Frequency = binding.spInterestPayout.text.toString() + maturityAmountRequest.Tenure = tenure + maturityAmountRequest.Interest = interest + stepOneBajajFDViewModel.getMaturityAmount( + maturityAmountRequest, + activity as BajajFdMainActivity + ) + stepOneBajajFDViewModel.getMaturityAmountMutableData.observe(viewLifecycleOwner) { response -> + when (response) { + is Resource.Success -> { + val getMaturityAmountResponse = + Gson().fromJson( + response.data?.toString(), + GetCalculateMaturityAmountResponse::class.java + ) + getMaturityAmountResponse.Response.StatusCode.let { code -> + when (code) { + 200 -> { + binding.tvMaturityAmount.text = + getString(R.string.rs).plus(" ").plus( + getMaturityAmountResponse.Response.MaturityAmount.toString() ) - } + } + // 650 -> refreshToken() + else -> { + Common.showDialogValidation( + activity as BajajFdMainActivity, + getMaturityAmountResponse.Response.Errors[0].ErrorMessage + ) } } } + } - is Resource.Error -> { - response.message?.let { message -> - Common.showDialogValidation( - activity as BajajFdMainActivity, - message - ) - } + is Resource.Error -> { + response.message?.let { message -> + Common.showDialogValidation( + activity as BajajFdMainActivity, + message + ) } - is Resource.Loading -> { + } + is Resource.Loading -> { + + } + is Resource.DataError -> { - } } } } @@ -432,77 +445,78 @@ class StepOneBajajFDFragment : BaseFragment() { } private fun getRatesApi() { - if (Common.isNetworkAvailable(activity as BajajFdMainActivity)) { - val getRatesRequest = GetRatesRequest() - getRatesRequest.fdProvider = getString(R.string.bajaj) - getRatesRequest.frequency = binding.spInterestPayout.text.toString() - if (binding.swSeniorCitizen.isChecked) { - getRatesRequest.type = getString(R.string.seniorCitizen) - } else { - getRatesRequest.type = getString(R.string.nonSeniorCitizen) - } - stepOneBajajFDViewModel.getRates(getRatesRequest, token) - stepOneBajajFDViewModel.getRatesMutableData.observe(viewLifecycleOwner) { response -> - when (response) { - is Resource.Success -> { - val getRatesResponse: GetRatesResponse = - Gson().fromJson(response.data?.toString(), GetRatesResponse::class.java) - getRatesResponse.Response.StatusCode.let { code -> - when (code) { - 200 -> { - if (listOfTenure.isNotEmpty()) { - listOfTenure.clear() - } - listOfTenure = getRatesResponse.Response.ROIDatalist - // Tenure - if (listOfTenure.isNotEmpty()) { - listOfTenure.sortWith { lhs: ROIDataList, rhs: ROIDataList -> - rhs.Tenure.compareTo( - lhs.Tenure - ) - } - binding.ORLayout.visibility = View.VISIBLE - val tenureAdapter = - ArrayAdapter( - activity as BajajFdMainActivity, - R.layout.spinner_dropdown, - listOfTenure - ) - binding.spTenure.setAdapter(tenureAdapter) - - binding.spTenure.setText( - tenureAdapter.getItem(0)?.Tenure.plus( - " Months | " - ).plus(tenureAdapter.getItem(0)?.ROI).plus(" %"), false + val getRatesRequest = GetRatesRequest() + getRatesRequest.fdProvider = getString(R.string.bajaj) + getRatesRequest.frequency = binding.spInterestPayout.text.toString() + if (binding.swSeniorCitizen.isChecked) { + getRatesRequest.type = getString(R.string.seniorCitizen) + } else { + getRatesRequest.type = getString(R.string.nonSeniorCitizen) + } + stepOneBajajFDViewModel.getRates(getRatesRequest, token, activity as BajajFdMainActivity) + stepOneBajajFDViewModel.getRatesMutableData.observe(viewLifecycleOwner) { response -> + when (response) { + is Resource.Success -> { + val getRatesResponse: GetRatesResponse = + Gson().fromJson(response.data?.toString(), GetRatesResponse::class.java) + getRatesResponse.Response.StatusCode.let { code -> + when (code) { + 200 -> { + if (listOfTenure.isNotEmpty()) { + listOfTenure.clear() + } + listOfTenure = getRatesResponse.Response.ROIDatalist + // Tenure + if (listOfTenure.isNotEmpty()) { + listOfTenure.sortWith { lhs: ROIDataList, rhs: ROIDataList -> + rhs.Tenure.compareTo( + lhs.Tenure ) - tenure = tenureAdapter.getItem(0)?.Tenure.toString().toInt() - interest = tenureAdapter.getItem(0)?.ROI ?: 0.0 - binding.tvROI.text = - tenureAdapter.getItem(0)?.ROI.toString().plus(" %") - setUpRecyclerView() - } else { - binding.ORLayout.visibility = View.GONE } - } - // 650 -> refreshToken() - else -> { - Common.showDialogValidation( - activity as BajajFdMainActivity, - getRatesResponse.Response.Errors[0].ErrorMessage + binding.ORLayout.visibility = View.VISIBLE + val tenureAdapter = + ArrayAdapter( + activity as BajajFdMainActivity, + R.layout.spinner_dropdown, + listOfTenure + ) + binding.spTenure.setAdapter(tenureAdapter) + + binding.spTenure.setText( + tenureAdapter.getItem(0)?.Tenure.plus( + " Months | " + ).plus(tenureAdapter.getItem(0)?.ROI).plus(" %"), false ) + tenure = tenureAdapter.getItem(0)?.Tenure.toString().toInt() + interest = tenureAdapter.getItem(0)?.ROI ?: 0.0 + binding.tvROI.text = + tenureAdapter.getItem(0)?.ROI.toString().plus(" %") + setUpRecyclerView() + } else { + binding.ORLayout.visibility = View.GONE } } + // 650 -> refreshToken() + else -> { + Common.showDialogValidation( + activity as BajajFdMainActivity, + getRatesResponse.Response.Errors[0].ErrorMessage + ) + } } } + } - is Resource.Error -> { - response.message?.let { message -> - Common.showDialogValidation(activity as BajajFdMainActivity, message) - } + is Resource.Error -> { + response.message?.let { message -> + Common.showDialogValidation(activity as BajajFdMainActivity, message) } - is Resource.Loading -> { + } + is Resource.Loading -> { + + } + is Resource.DataError -> { - } } } } 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 cd85e64..6950612 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 @@ -248,16 +248,14 @@ class StepThreeBajajFDFragment : BaseFragment() { } private fun uploadDocument(uri: Uri) { - if (Common.isNetworkAvailable(activity as BajajFdMainActivity)) { - val fileDir: File = requireActivity().cacheDir - val fileExtension = File(fileDir.toString().plus("/").plus(getFileName(uri))) - fileExt = fileExtension.extension - encodedFileToBase64(fileExtension) - if (checkPANUploadFile == true || checkPhotoUploadFile == true) { - mapImage["Main ".plus(selectedImage)] = front - } else { - selectedImage?.let { mapImage.put(it, front) } - } + val fileDir: File = requireActivity().cacheDir + val fileExtension = File(fileDir.toString().plus("/").plus(getFileName(uri))) + fileExt = fileExtension.extension + encodedFileToBase64(fileExtension) + if (checkPANUploadFile == true || checkPhotoUploadFile == true) { + mapImage["Main ".plus(selectedImage)] = front + } else { + selectedImage?.let { mapImage.put(it, front) } } } @@ -292,71 +290,77 @@ class StepThreeBajajFDFragment : BaseFragment() { } private fun uploadDocApi(key: String, imageBase64: String, uploadPosition: Int) { - if (Common.isNetworkAvailable((activity as BajajFdMainActivity))) { - val du = DocumentUpload() - du.Description = key - du.DocumentType = key - du.FDProvider = getString(R.string.bajaj) - du.ImageEncodeToBase64 = - "data:image/" + "." + fileExt + ";base64,".plus(imageBase64) //"data:image/png;base64" - du.NiveshClientCode = - (activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_CODE - du.UniqueId = uniqueId - stepThreeBajajFDViewModel.documentsUpload(du, Constants.token) - - stepThreeBajajFDViewModel.getDocumentUploadMutableData.observe(viewLifecycleOwner) { response -> - when (response) { - is Resource.Success -> { - Log.e("UploadImage", "Response-->" + response.data.toString()) - val getUploadResponse: UploadResponse = - Gson().fromJson(response.data?.toString(), UploadResponse::class.java) - getUploadResponse.Response.StatusCode.let { code -> - when (code) { - 200 -> { - Log.e("check_upload_res", response.message.toString()) - if (uploadPosition == mapImage.size) { - Toast.makeText( - requireActivity(), - "".plus(mapImage.size.toString() + " Last Image Uploaded ") + - uploadPosition, - Toast.LENGTH_LONG - ).show() - // bajajFDInterface.stepThreeApi((activity as BajajFdMainActivity).createFDRequest) - createFDApi((activity as BajajFdMainActivity).createFDRequest) - } - } - // 650 -> refreshToken() - else -> { - Common.showDialogValidation( - activity as BajajFdMainActivity, - getUploadResponse.Response.Message - ) + val du = DocumentUpload() + du.Description = key + du.DocumentType = key + du.FDProvider = getString(R.string.bajaj) + du.ImageEncodeToBase64 = + "data:image/" + "." + fileExt + ";base64,".plus(imageBase64) //"data:image/png;base64" + du.NiveshClientCode = + (activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_CODE + du.UniqueId = uniqueId + stepThreeBajajFDViewModel.documentsUpload( + du, + Constants.token, + activity as BajajFdMainActivity + ) + stepThreeBajajFDViewModel.getDocumentUploadMutableData.observe(viewLifecycleOwner) { response -> + when (response) { + is Resource.Success -> { + Log.e("UploadImage", "Response-->" + response.data.toString()) + val getUploadResponse: UploadResponse = + Gson().fromJson(response.data?.toString(), UploadResponse::class.java) + getUploadResponse.Response.StatusCode.let { code -> + when (code) { + 200 -> { + Log.e("check_upload_res", response.message.toString()) + if (uploadPosition == mapImage.size) { + Toast.makeText( + requireActivity(), + "".plus(mapImage.size.toString() + " Last Image Uploaded ") + + uploadPosition, + Toast.LENGTH_LONG + ).show() + // bajajFDInterface.stepThreeApi((activity as BajajFdMainActivity).createFDRequest) + createFDApi((activity as BajajFdMainActivity).createFDRequest) } } + // 650 -> refreshToken() + else -> { + Common.showDialogValidation( + activity as BajajFdMainActivity, + getUploadResponse.Response.Message + ) + } } } + } - is Resource.Error -> { - response.message?.let { message -> - Common.showDialogValidation(activity as BajajFdMainActivity, message) - } + is Resource.Error -> { + response.message?.let { message -> + Common.showDialogValidation(activity as BajajFdMainActivity, message) } - is Resource.Loading -> { + } + is Resource.Loading -> { + + } + is Resource.DataError -> { - } } } } } private fun createFDApi(data: CreateFDRequest) { - if (Common.isNetworkAvailable(activity as BajajFdMainActivity)) { - - stepThreeBajajFDViewModel.createFDApi(data, Constants.token) + stepThreeBajajFDViewModel.createFDApi( + data, + Constants.token, + activity as BajajFdMainActivity + ) stepThreeBajajFDViewModel.getFDResponseMutableData.observe(viewLifecycleOwner) { response -> when (response) { is Resource.Success -> { - Log.e("response", "-->$response") + Log.e("createFDApi", "response--> " + response.data.toString()) val createFDApplicationResponse: CreateFDApplicationResponse = Gson().fromJson( response.data?.toString(), @@ -387,64 +391,73 @@ class StepThreeBajajFDFragment : BaseFragment() { } is Resource.Loading -> { + } + is Resource.DataError -> { + } } } - } } 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 -> { - Common.showDialogValidation( + + 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, + activity as BajajFdMainActivity + ) + 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, - getCodeResponse.Response.Message + R.layout.spinner_dropdown, + listOfDocType ) + binding.spDocType.setAdapter(adapter) + binding.spDocType.setText( + adapter.getItem(0)?.Value, + false + ) + setOtherUploadLayout(listOfDocType[0].Value) } } + // 650 -> refreshToken() + else -> { + Common.showDialogValidation( + activity as BajajFdMainActivity, + getCodeResponse.Response.Message + ) + } } } + } - is Resource.Error -> { - response.message?.let { message -> - Common.showDialogValidation(activity as BajajFdMainActivity, message) - } + is Resource.Error -> { + response.message?.let { message -> + Common.showDialogValidation(activity as BajajFdMainActivity, message) } - is Resource.Loading -> { + } + is Resource.Loading -> { + + } + + is Resource.DataError -> { - } } } } 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 a8510ab..d3484bb 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 @@ -724,31 +724,91 @@ class StepTwoBajajFDFragment : BaseFragment() { } private fun createFDApi(data: CreateFDRequest) { - if (Common.isNetworkAvailable(activity as BajajFdMainActivity)) { + stepTwoBajajFDViewModel.createFDApi(data, token, activity as BajajFdMainActivity) + stepTwoBajajFDViewModel.getFDResponseMutableData.observe(viewLifecycleOwner) { response -> + when (response) { + is Resource.Success -> { + Log.e("response", "-->$response") + val createFDApplicationResponse: CreateFDApplicationResponse = + Gson().fromJson( + response.data?.toString(), + CreateFDApplicationResponse::class.java + ) + createFDApplicationResponse.Response.StatusCode.let { code -> + when (code) { + 200 -> { + (activity as BajajFdMainActivity).stepTwoApi( + createFDApplicationResponse + ) + + } + // 650 -> refreshToken() + else -> { + Common.showDialogValidation( + activity as BajajFdMainActivity, + createFDApplicationResponse.Response.Errors[0].ErrorMessage + ) + } + } + } + } + + is Resource.Error -> { + response.message?.let { message -> + Common.showDialogValidation(activity as BajajFdMainActivity, message) + } + } + is Resource.Loading -> { + + } + is Resource.DataError -> { + + } + } + } + } + - stepTwoBajajFDViewModel.createFDApi(data, token) - stepTwoBajajFDViewModel.getFDResponseMutableData.observe(viewLifecycleOwner) { response -> + private fun ifscCodeCheckApi(ifsc: String) { + if (ifsc.length == 11) { + stepTwoBajajFDViewModel.ifscCodeApi(ifsc, activity as BajajFdMainActivity) + stepTwoBajajFDViewModel.getifscCodeCheckMutableData.observe(viewLifecycleOwner) { response -> when (response) { is Resource.Success -> { - Log.e("response", "-->$response") - val createFDApplicationResponse: CreateFDApplicationResponse = + val getIFSCCodeListResponse = Gson().fromJson( response.data?.toString(), - CreateFDApplicationResponse::class.java + GetIFSCCodeListResponse::class.java ) - createFDApplicationResponse.Response.StatusCode.let { code -> + getIFSCCodeListResponse.Response.status_code.let { code -> when (code) { 200 -> { - (activity as BajajFdMainActivity).stepTwoApi( - createFDApplicationResponse - ) + 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() + // 650 -> refreshToken() else -> { Common.showDialogValidation( activity as BajajFdMainActivity, - createFDApplicationResponse.Response.Errors[0].ErrorMessage + getIFSCCodeListResponse.Response.message ) } } @@ -757,121 +817,69 @@ class StepTwoBajajFDFragment : BaseFragment() { is Resource.Error -> { response.message?.let { message -> - Common.showDialogValidation(activity as BajajFdMainActivity, message) + Common.showDialogValidation( + activity as BajajFdMainActivity, + message + ) } } is Resource.Loading -> { + } + is Resource.DataError -> { + } } } } } + private fun getIFSCDetailsApi(ifscCode: String) { - 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 -> { - Common.showDialogValidation( - activity as BajajFdMainActivity, - getIFSCCodeListResponse.Response.message - ) - } - } + stepTwoBajajFDViewModel.ifscCodeDetailsApi( + ifscCode, + token, + activity as BajajFdMainActivity + ) + 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) } - } - - is Resource.Error -> { - response.message?.let { message -> + // 650 -> refreshToken() + else -> { Common.showDialogValidation( activity as BajajFdMainActivity, - message + getIFSCCodeResponse.Response.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 -> { - Common.showDialogValidation( - activity as BajajFdMainActivity, - getIFSCCodeResponse.Response.message - ) - } - } - } + is Resource.Error -> { + response.message?.let { message -> + Common.showDialogValidation(activity as BajajFdMainActivity, message) } + } + is Resource.Loading -> { - is Resource.Error -> { - response.message?.let { message -> - Common.showDialogValidation(activity as BajajFdMainActivity, message) - } - } - is Resource.Loading -> { + } + is Resource.DataError -> { - } } } } + } private fun validateBank(): Boolean { @@ -948,106 +956,104 @@ class StepTwoBajajFDFragment : BaseFragment() { } 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.panNumber = binding.edtPANNumber.text.toString() - panCheck.mobileNumber = "" - stepTwoBajajFDViewModel.panCheck(panCheck, token) - stepTwoBajajFDViewModel.getPanCheckMutableData.observe(viewLifecycleOwner) { response -> - when (response) { - is Resource.Success -> { - val panCheckResponse = - Gson().fromJson( - response.data?.toString(), - PanCheckResponse::class.java - ) - panCheckResponse.response.status_code.let { code -> - if (binding.tvPANVerify.visibility == View.GONE) { - binding.tvPANVerify.visibility = View.VISIBLE - } - when (code) { - 200 -> { - binding.tvPANVerify.text = getString(R.string.verifiedText) - binding.tvPANVerify.setTextColor( - ContextCompat.getColor( - activity as BajajFdMainActivity, - R.color.green - ) + 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.panNumber = binding.edtPANNumber.text.toString() + panCheck.mobileNumber = "" + stepTwoBajajFDViewModel.panCheck(panCheck, token, activity as BajajFdMainActivity) + stepTwoBajajFDViewModel.getPanCheckMutableData.observe(viewLifecycleOwner) { response -> + when (response) { + is Resource.Success -> { + val panCheckResponse = + Gson().fromJson( + response.data?.toString(), + PanCheckResponse::class.java + ) + panCheckResponse.response.status_code.let { code -> + if (binding.tvPANVerify.visibility == View.GONE) { + binding.tvPANVerify.visibility = View.VISIBLE + } + when (code) { + 200 -> { + binding.tvPANVerify.text = getString(R.string.verifiedText) + binding.tvPANVerify.setTextColor( + ContextCompat.getColor( + activity as BajajFdMainActivity, + R.color.green ) - } - // 650 -> refreshToken() - else -> { - binding.tvPANVerify.text = getString(R.string.notVerifiedText) - binding.tvPANVerify.setTextColor( - ContextCompat.getColor( - activity as BajajFdMainActivity, - R.color.red - ) + ) + } + // 650 -> refreshToken() + else -> { + binding.tvPANVerify.text = getString(R.string.notVerifiedText) + binding.tvPANVerify.setTextColor( + ContextCompat.getColor( + activity as BajajFdMainActivity, + R.color.red ) - } + ) } } } + } - is Resource.Error -> { - response.message?.let { message -> - Common.showDialogValidation(activity as BajajFdMainActivity, message) - } + is Resource.Error -> { + response.message?.let { message -> + Common.showDialogValidation(activity as BajajFdMainActivity, message) } - is Resource.Loading -> { + } + is Resource.Loading -> { - } } - } + is Resource.DataError -> { + } + } } - } private fun titleApi() { - if (Common.isNetworkAvailable(activity as BajajFdMainActivity)) { - val getCodeRequest = GetCodeRequest() - getCodeRequest.ProductName = getString(R.string.bajajFD) - getCodeRequest.Category = getString(R.string.salutationCategory) - getCodeRequest.Language = getString(R.string.language) - getCodeRequest.InputValue = "" - stepTwoBajajFDViewModel.titleApi(getCodeRequest, token) - stepTwoBajajFDViewModel.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 -> { - listOfTitle = getCodeResponse.Response.GetCodesList - if (listOfTitle.isNotEmpty()) { - val adapter = ArrayAdapter( - activity as BajajFdMainActivity, - R.layout.spinner_dropdown, - listOfTitle + val getCodeRequest = GetCodeRequest() + getCodeRequest.ProductName = getString(R.string.bajajFD) + getCodeRequest.Category = getString(R.string.salutationCategory) + getCodeRequest.Language = getString(R.string.language) + getCodeRequest.InputValue = "" + stepTwoBajajFDViewModel.titleApi(getCodeRequest, token, activity as BajajFdMainActivity) + stepTwoBajajFDViewModel.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 -> { + listOfTitle = getCodeResponse.Response.GetCodesList + if (listOfTitle.isNotEmpty()) { + val adapter = ArrayAdapter( + activity as BajajFdMainActivity, + R.layout.spinner_dropdown, + listOfTitle + ) + binding.spTitle.setAdapter(adapter) + + val titleText = + (activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.Client_Title + val newTitleText = "$titleText." + if (titleText?.isEmpty()!!) { + binding.spTitle.setText( + adapter.getItem(0)?.Value, + false ) - binding.spTitle.setAdapter(adapter) - - val titleText = - (activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.Client_Title - val newTitleText = "$titleText." - if (titleText?.isEmpty()!!) { - binding.spTitle.setText( - adapter.getItem(0)?.Value, - false - ) - } else { - for (title in listOfTitle) { - if (title.Value == newTitleText) { - binding.spTitle.setText(title.Value, false) - break - } + } else { + for (title in listOfTitle) { + if (title.Value == newTitleText) { + binding.spTitle.setText(title.Value, false) + break + } // binding.spTitle.setOnTouchListener { v, event -> // when (event?.action) { // MotionEvent.ACTION_DOWN -> { @@ -1061,93 +1067,98 @@ class StepTwoBajajFDFragment : BaseFragment() { // // v?.onTouchEvent(event) ?: true // } - } } - - binding.spNomineeTitle.setAdapter(adapter) - binding.spNomineeTitle.setText( - adapter.getItem(0)?.Value, - false - ) } - genderApi() - relationShipApi() - maritalStatusApi() - occupationApi() - annualIncomeApi() - stateListApi() - paymentModeApi() - } - // 650 -> refreshToken() - else -> { - Common.showDialogValidation( - activity as BajajFdMainActivity, - getCodeResponse.Response.Errors[0].ErrorMessage + binding.spNomineeTitle.setAdapter(adapter) + binding.spNomineeTitle.setText( + adapter.getItem(0)?.Value, + false ) } + genderApi() + relationShipApi() + maritalStatusApi() + occupationApi() + annualIncomeApi() + stateListApi() + paymentModeApi() + + } + // 650 -> refreshToken() + else -> { + Common.showDialogValidation( + activity as BajajFdMainActivity, + getCodeResponse.Response.Errors[0].ErrorMessage + ) } } } + } - is Resource.Error -> { - response.message?.let { message -> - Common.showDialogValidation(activity as BajajFdMainActivity, message) - } + is Resource.Error -> { + response.message?.let { message -> + Common.showDialogValidation(activity as BajajFdMainActivity, message) } - is Resource.Loading -> { + } + is Resource.Loading -> { - } } - } + is Resource.DataError -> { + } + } } } private fun paymentModeApi() { - if (Common.isNetworkAvailable(activity as BajajFdMainActivity)) { - val getCodeRequest = GetCodeRequest() - getCodeRequest.ProductName = getString(R.string.bajajFD) - getCodeRequest.Category = getString(R.string.paymentModeCategory) - getCodeRequest.Language = getString(R.string.language) - getCodeRequest.InputValue = "" - stepTwoBajajFDViewModel.paymentModeApi(getCodeRequest, token) - stepTwoBajajFDViewModel.getPaymentModeMutableData.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 -> { - if (getCodeResponse.Response.GetCodesList.isNotEmpty()) { - listOfPayMode = getCodeResponse.Response.GetCodesList - setUpRecyclerViewPaymentMode(listOfPayMode) - } - } - // 650 -> refreshToken() - else -> { - Common.showDialogValidation( - activity as BajajFdMainActivity, - getCodeResponse.Response.Errors[0].ErrorMessage - ) + val getCodeRequest = GetCodeRequest() + getCodeRequest.ProductName = getString(R.string.bajajFD) + getCodeRequest.Category = getString(R.string.paymentModeCategory) + getCodeRequest.Language = getString(R.string.language) + getCodeRequest.InputValue = "" + stepTwoBajajFDViewModel.paymentModeApi( + getCodeRequest, + token, + activity as BajajFdMainActivity + ) + stepTwoBajajFDViewModel.getPaymentModeMutableData.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 -> { + if (getCodeResponse.Response.GetCodesList.isNotEmpty()) { + listOfPayMode = getCodeResponse.Response.GetCodesList + setUpRecyclerViewPaymentMode(listOfPayMode) } } + // 650 -> refreshToken() + else -> { + Common.showDialogValidation( + activity as BajajFdMainActivity, + getCodeResponse.Response.Errors[0].ErrorMessage + ) + } } } + } - is Resource.Error -> { - response.message?.let { message -> - Common.showDialogValidation(activity as BajajFdMainActivity, message) - } + is Resource.Error -> { + response.message?.let { message -> + Common.showDialogValidation(activity as BajajFdMainActivity, message) } - is Resource.Loading -> { + } + is Resource.Loading -> { - } } - } + is Resource.DataError -> { + } + } } } @@ -1164,366 +1175,382 @@ class StepTwoBajajFDFragment : BaseFragment() { private fun genderApi() { - if (Common.isNetworkAvailable(activity as BajajFdMainActivity)) { - val getCodeRequest = GetCodeRequest() - getCodeRequest.ProductName = getString(R.string.bajajFD) - getCodeRequest.Category = getString(R.string.genderCategory) - getCodeRequest.Language = getString(R.string.language) - getCodeRequest.InputValue = "" - stepTwoBajajFDViewModel.genderApi(getCodeRequest, token) - stepTwoBajajFDViewModel.getGenderMutableData.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 -> { - listOfGender = getCodeResponse.Response.GetCodesList - if (listOfGender.isNotEmpty()) { - val adapter = ArrayAdapter( - activity as BajajFdMainActivity, - R.layout.spinner_dropdown, - listOfGender - ) - binding.spGender.setAdapter(adapter) - binding.spGender.setText( - adapter.getItem(0)?.Value, - false - ) - } - } - // 650 -> refreshToken() - else -> { - Common.showDialogValidation( - activity as BajajFdMainActivity, - getCodeResponse.Response.Errors[0].ErrorMessage - ) - } - } + val getCodeRequest = GetCodeRequest() + getCodeRequest.ProductName = getString(R.string.bajajFD) + getCodeRequest.Category = getString(R.string.genderCategory) + getCodeRequest.Language = getString(R.string.language) + getCodeRequest.InputValue = "" + stepTwoBajajFDViewModel.genderApi( + getCodeRequest, + token, + activity as BajajFdMainActivity + ) + stepTwoBajajFDViewModel.getGenderMutableData.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 -> { + listOfGender = getCodeResponse.Response.GetCodesList + if (listOfGender.isNotEmpty()) { + val adapter = ArrayAdapter( + activity as BajajFdMainActivity, + R.layout.spinner_dropdown, + listOfGender + ) + binding.spGender.setAdapter(adapter) + binding.spGender.setText( + adapter.getItem(0)?.Value, + false + ) + } + } + // 650 -> refreshToken() + else -> { + Common.showDialogValidation( + activity as BajajFdMainActivity, + getCodeResponse.Response.Errors[0].ErrorMessage + ) + } } } + } - is Resource.Error -> { - response.message?.let { message -> - Common.showDialogValidation(activity as BajajFdMainActivity, message) - } + is Resource.Error -> { + response.message?.let { message -> + Common.showDialogValidation(activity as BajajFdMainActivity, message) } - is Resource.Loading -> { + } + is Resource.Loading -> { - } } - } + is Resource.DataError -> { + } + } } - } private fun relationShipApi() { - if (Common.isNetworkAvailable(activity as BajajFdMainActivity)) { - val getCodeRequest = GetCodeRequest() - getCodeRequest.ProductName = getString(R.string.bajajFD) - getCodeRequest.Category = getString(R.string.relationshipCategory) - getCodeRequest.Language = getString(R.string.language) - getCodeRequest.InputValue = "" - stepTwoBajajFDViewModel.relationShipApi(getCodeRequest, token) - stepTwoBajajFDViewModel.getRelationShipMutableData.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 -> { - listOfRelationShip = getCodeResponse.Response.GetCodesList - if (listOfGender.isNotEmpty()) { - val adapter = ArrayAdapter( - activity as BajajFdMainActivity, - R.layout.spinner_dropdown, - listOfRelationShip - ) + val getCodeRequest = GetCodeRequest() + getCodeRequest.ProductName = getString(R.string.bajajFD) + getCodeRequest.Category = getString(R.string.relationshipCategory) + getCodeRequest.Language = getString(R.string.language) + getCodeRequest.InputValue = "" + stepTwoBajajFDViewModel.relationShipApi( + getCodeRequest, + token, + activity as BajajFdMainActivity + ) + stepTwoBajajFDViewModel.getRelationShipMutableData.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 -> { + listOfRelationShip = getCodeResponse.Response.GetCodesList + if (listOfGender.isNotEmpty()) { + val adapter = ArrayAdapter( + activity as BajajFdMainActivity, + R.layout.spinner_dropdown, + listOfRelationShip + ) - binding.spNomineeRelation.setAdapter(adapter) - binding.spNomineeRelation.setText( - adapter.getItem(0)?.Value, - false - ) + binding.spNomineeRelation.setAdapter(adapter) + binding.spNomineeRelation.setText( + adapter.getItem(0)?.Value, + false + ) - binding.spGuardianRelation.setAdapter(adapter) - binding.spGuardianRelation.setText( - adapter.getItem(0)?.Value, - false - ) - } - } - // 650 -> refreshToken() - else -> { - Common.showDialogValidation( - activity as BajajFdMainActivity, - getCodeResponse.Response.Errors[0].ErrorMessage + binding.spGuardianRelation.setAdapter(adapter) + binding.spGuardianRelation.setText( + adapter.getItem(0)?.Value, + false ) } } + // 650 -> refreshToken() + else -> { + Common.showDialogValidation( + activity as BajajFdMainActivity, + getCodeResponse.Response.Errors[0].ErrorMessage + ) + } } } + } - is Resource.Error -> { - response.message?.let { message -> - Common.showDialogValidation(activity as BajajFdMainActivity, message) - } + is Resource.Error -> { + response.message?.let { message -> + Common.showDialogValidation(activity as BajajFdMainActivity, message) } - is Resource.Loading -> { + } + is Resource.Loading -> { - } } - } - } + is Resource.DataError -> { + } + } + } } private fun maritalStatusApi() { - if (Common.isNetworkAvailable(activity as BajajFdMainActivity)) { - val getCodeRequest = GetCodeRequest() - getCodeRequest.ProductName = getString(R.string.bajajFD) - getCodeRequest.Category = getString(R.string.maritalCategory) - getCodeRequest.Language = getString(R.string.language) - getCodeRequest.InputValue = "" - stepTwoBajajFDViewModel.maritalStatusApi(getCodeRequest, token) - stepTwoBajajFDViewModel.getMaritalStatusMutableData.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 -> { - listOfMaritalStatus = getCodeResponse.Response.GetCodesList - if (listOfMaritalStatus.isNotEmpty()) { - val adapter = ArrayAdapter( - activity as BajajFdMainActivity, - R.layout.spinner_dropdown, - listOfMaritalStatus - ) - binding.spMarital.setAdapter(adapter) - binding.spMarital.setText( - adapter.getItem(0)?.Value, - false - ) - } - } - // 650 -> refreshToken() - else -> { - Common.showDialogValidation( + val getCodeRequest = GetCodeRequest() + getCodeRequest.ProductName = getString(R.string.bajajFD) + getCodeRequest.Category = getString(R.string.maritalCategory) + getCodeRequest.Language = getString(R.string.language) + getCodeRequest.InputValue = "" + stepTwoBajajFDViewModel.maritalStatusApi( + getCodeRequest, + token, + activity as BajajFdMainActivity + ) + stepTwoBajajFDViewModel.getMaritalStatusMutableData.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 -> { + listOfMaritalStatus = getCodeResponse.Response.GetCodesList + if (listOfMaritalStatus.isNotEmpty()) { + val adapter = ArrayAdapter( activity as BajajFdMainActivity, - getCodeResponse.Response.Errors[0].ErrorMessage + R.layout.spinner_dropdown, + listOfMaritalStatus + ) + binding.spMarital.setAdapter(adapter) + binding.spMarital.setText( + adapter.getItem(0)?.Value, + false ) } } + // 650 -> refreshToken() + else -> { + Common.showDialogValidation( + activity as BajajFdMainActivity, + getCodeResponse.Response.Errors[0].ErrorMessage + ) + } } } + } - is Resource.Error -> { - response.message?.let { message -> - Common.showDialogValidation(activity as BajajFdMainActivity, message) - } + is Resource.Error -> { + response.message?.let { message -> + Common.showDialogValidation(activity as BajajFdMainActivity, message) } - is Resource.Loading -> { + } + is Resource.Loading -> { - } } - } + is Resource.DataError -> { + } + } } - } private fun occupationApi() { - if (Common.isNetworkAvailable(activity as BajajFdMainActivity)) { - val getCodeRequest = GetCodeRequest() - getCodeRequest.ProductName = getString(R.string.bajajFD) - getCodeRequest.Category = getString(R.string.occupationCategory) - getCodeRequest.Language = getString(R.string.language) - getCodeRequest.InputValue = "" - stepTwoBajajFDViewModel.occupationApi(getCodeRequest, token) - stepTwoBajajFDViewModel.getOccupationMutableData.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 -> { - listOfOccupation = getCodeResponse.Response.GetCodesList - if (listOfOccupation.isNotEmpty()) { - val adapter = ArrayAdapter( - activity as BajajFdMainActivity, - R.layout.spinner_dropdown, - listOfOccupation - ) - binding.spOccupation.setAdapter(adapter) - binding.spOccupation.setText( - adapter.getItem(0)?.Value, - false - ) - } - } - // 650 -> refreshToken() - else -> { - Common.showDialogValidation( + val getCodeRequest = GetCodeRequest() + getCodeRequest.ProductName = getString(R.string.bajajFD) + getCodeRequest.Category = getString(R.string.occupationCategory) + getCodeRequest.Language = getString(R.string.language) + getCodeRequest.InputValue = "" + stepTwoBajajFDViewModel.occupationApi( + getCodeRequest, + token, + activity as BajajFdMainActivity + ) + stepTwoBajajFDViewModel.getOccupationMutableData.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 -> { + listOfOccupation = getCodeResponse.Response.GetCodesList + if (listOfOccupation.isNotEmpty()) { + val adapter = ArrayAdapter( activity as BajajFdMainActivity, - getCodeResponse.Response.Errors[0].ErrorMessage + R.layout.spinner_dropdown, + listOfOccupation + ) + binding.spOccupation.setAdapter(adapter) + binding.spOccupation.setText( + adapter.getItem(0)?.Value, + false ) } } + // 650 -> refreshToken() + else -> { + Common.showDialogValidation( + activity as BajajFdMainActivity, + getCodeResponse.Response.Errors[0].ErrorMessage + ) + } } } + } - is Resource.Error -> { - response.message?.let { message -> - Common.showDialogValidation(activity as BajajFdMainActivity, message) - } + is Resource.Error -> { + response.message?.let { message -> + Common.showDialogValidation(activity as BajajFdMainActivity, message) } - is Resource.Loading -> { + } + is Resource.Loading -> { - } } - } + is Resource.DataError -> { + } + } } - } private fun annualIncomeApi() { - if (Common.isNetworkAvailable(activity as BajajFdMainActivity)) { - val getCodeRequest = GetCodeRequest() - getCodeRequest.ProductName = getString(R.string.bajajFD) - getCodeRequest.Category = getString(R.string.annualIncome) - getCodeRequest.Language = getString(R.string.language) - getCodeRequest.InputValue = "" - stepTwoBajajFDViewModel.annualIncomeApi(getCodeRequest, token) - stepTwoBajajFDViewModel.getAnnualIncomeMutableData.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 -> { - listOfAnnualIncome = getCodeResponse.Response.GetCodesList - if (listOfAnnualIncome.isNotEmpty()) { - val adapter = ArrayAdapter( - activity as BajajFdMainActivity, - R.layout.spinner_dropdown, - listOfAnnualIncome - ) - binding.spIncome.setAdapter(adapter) - binding.spIncome.setText( - adapter.getItem(0)?.Value, - false - ) - } - } - // 650 -> refreshToken() - else -> { - Common.showDialogValidation( + val getCodeRequest = GetCodeRequest() + getCodeRequest.ProductName = getString(R.string.bajajFD) + getCodeRequest.Category = getString(R.string.annualIncome) + getCodeRequest.Language = getString(R.string.language) + getCodeRequest.InputValue = "" + stepTwoBajajFDViewModel.annualIncomeApi( + getCodeRequest, + token, + activity as BajajFdMainActivity + ) + stepTwoBajajFDViewModel.getAnnualIncomeMutableData.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 -> { + listOfAnnualIncome = getCodeResponse.Response.GetCodesList + if (listOfAnnualIncome.isNotEmpty()) { + val adapter = ArrayAdapter( activity as BajajFdMainActivity, - getCodeResponse.Response.Errors[0].ErrorMessage + R.layout.spinner_dropdown, + listOfAnnualIncome + ) + binding.spIncome.setAdapter(adapter) + binding.spIncome.setText( + adapter.getItem(0)?.Value, + false ) } } + // 650 -> refreshToken() + else -> { + Common.showDialogValidation( + activity as BajajFdMainActivity, + getCodeResponse.Response.Errors[0].ErrorMessage + ) + } } } + } - is Resource.Error -> { - response.message?.let { message -> - Common.showDialogValidation(activity as BajajFdMainActivity, message) - } + is Resource.Error -> { + response.message?.let { message -> + Common.showDialogValidation(activity as BajajFdMainActivity, message) } - is Resource.Loading -> { + } + is Resource.Loading -> { - } } - } + is Resource.DataError -> { + } + } } - } private fun stateListApi() { - if (Common.isNetworkAvailable(activity as BajajFdMainActivity)) { - stepTwoBajajFDViewModel.stateApi(token) - stepTwoBajajFDViewModel.getStateMasterMutableData.observe(viewLifecycleOwner) { response -> - when (response) { - is Resource.Success -> { - Log.e("response", "-->$response") - val stateListResponse: StateListResponse = - Gson().fromJson( - response.data?.toString(), - StateListResponse::class.java - ) - stateListResponse.response.status_code.let { code -> - when (code) { - 200 -> { - listOfStates = stateListResponse.DataObject - if (listOfStates.isNotEmpty()) { - val adapter = ArrayAdapter( - activity as BajajFdMainActivity, - R.layout.spinner_dropdown, - listOfStates + stepTwoBajajFDViewModel.stateApi(token, activity as BajajFdMainActivity) + stepTwoBajajFDViewModel.getStateMasterMutableData.observe(viewLifecycleOwner) { response -> + when (response) { + is Resource.Success -> { + Log.e("response", "-->$response") + val stateListResponse: StateListResponse = + Gson().fromJson( + response.data?.toString(), + StateListResponse::class.java + ) + stateListResponse.response.status_code.let { code -> + when (code) { + 200 -> { + listOfStates = stateListResponse.DataObject + if (listOfStates.isNotEmpty()) { + val adapter = ArrayAdapter( + activity as BajajFdMainActivity, + R.layout.spinner_dropdown, + listOfStates + ) + binding.spState.setAdapter(adapter) + val newTitleText = + (activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_STATE + if (newTitleText?.isEmpty()!!) { + binding.spState.setText( + adapter.getItem(0)?.State_Name, + false ) - binding.spState.setAdapter(adapter) - val newTitleText = - (activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_STATE - if (newTitleText?.isEmpty()!!) { - binding.spState.setText( - adapter.getItem(0)?.State_Name, - false - ) - cityListApi(adapter.getItem(0)?.State_Id) - - stateObject = adapter.getItem(0) as DataObject - Log.e("if", " -->" + stateObject.State_Code) - } else { - for (title in listOfStates) { - if (title.State_Code == newTitleText) { - binding.spState.setText(title.State_Name, false) - cityListApi(title.State_Id) - stateObject = title - Log.e("else", " -->" + stateObject.State_Code) - break - } + cityListApi(adapter.getItem(0)?.State_Id) + + stateObject = adapter.getItem(0) as DataObject + Log.e("if", " -->" + stateObject.State_Code) + } else { + for (title in listOfStates) { + if (title.State_Code == newTitleText) { + binding.spState.setText(title.State_Name, false) + cityListApi(title.State_Id) + stateObject = title + Log.e("else", " -->" + stateObject.State_Code) + break } } } } - // 650 -> refreshToken() - else -> { - Common.showDialogValidation( - activity as BajajFdMainActivity, - stateListResponse.response.message - ) - } + } + // 650 -> refreshToken() + else -> { + Common.showDialogValidation( + activity as BajajFdMainActivity, + stateListResponse.response.message + ) } } } + } - is Resource.Error -> { - response.message?.let { message -> - Common.showDialogValidation(activity as BajajFdMainActivity, message) - } + is Resource.Error -> { + response.message?.let { message -> + Common.showDialogValidation(activity as BajajFdMainActivity, message) } - is Resource.Loading -> { + } + is Resource.Loading -> { - } } - } + is Resource.DataError -> { + } + } } } @@ -1543,7 +1570,7 @@ class StepTwoBajajFDFragment : BaseFragment() { cityRequest.HOCode = "" cityRequest.Source = getString(R.string.source) cityRequest.APP_Web = getString(R.string.app) - stepTwoBajajFDViewModel.cityListApi(cityRequest, token) + stepTwoBajajFDViewModel.cityListApi(cityRequest, token, activity as BajajFdMainActivity) stepTwoBajajFDViewModel.getCityListMutableData.observe(viewLifecycleOwner) { response -> when (response) { is Resource.Success -> { @@ -1597,52 +1624,55 @@ class StepTwoBajajFDFragment : BaseFragment() { } is Resource.Loading -> { + } + is Resource.DataError -> { + } } } } private fun apiForEligibleBankList() { - if (Common.isNetworkAvailable(activity as BajajFdMainActivity)) { - stepTwoBajajFDViewModel.bankListApi(token) - stepTwoBajajFDViewModel.getFDBankListMutableData.observe(viewLifecycleOwner) { response -> - when (response) { - is Resource.Success -> { - Log.e("response", "-->$response") - val getFDBankListResponse: GetFDBankListResponse = - Gson().fromJson( - response.data?.toString(), - GetFDBankListResponse::class.java - ) - getFDBankListResponse.Response.StatusCode.let { code -> - when (code) { - 200 -> { - if (getFDBankListResponse.Response.BankList.isNotEmpty()) { - dialogForBankList(getFDBankListResponse.Response.BankList) - } - } - // 650 -> refreshToken() - else -> { - Common.showDialogValidation( - activity as BajajFdMainActivity, - getFDBankListResponse.Response.Errors[0].ErrorMessage - ) + stepTwoBajajFDViewModel.bankListApi(token, activity as BajajFdMainActivity) + stepTwoBajajFDViewModel.getFDBankListMutableData.observe(viewLifecycleOwner) { response -> + when (response) { + is Resource.Success -> { + Log.e("response", "-->$response") + val getFDBankListResponse: GetFDBankListResponse = + Gson().fromJson( + response.data?.toString(), + GetFDBankListResponse::class.java + ) + getFDBankListResponse.Response.StatusCode.let { code -> + when (code) { + 200 -> { + if (getFDBankListResponse.Response.BankList.isNotEmpty()) { + dialogForBankList(getFDBankListResponse.Response.BankList) } } + // 650 -> refreshToken() + else -> { + Common.showDialogValidation( + activity as BajajFdMainActivity, + getFDBankListResponse.Response.Errors[0].ErrorMessage + ) + } } } + } - is Resource.Error -> { - response.message?.let { message -> - Common.showDialogValidation(activity as BajajFdMainActivity, message) - } + is Resource.Error -> { + response.message?.let { message -> + Common.showDialogValidation(activity as BajajFdMainActivity, message) } - is Resource.Loading -> { + } + is Resource.Loading -> { - } } - } + is Resource.DataError -> { + } + } } } diff --git a/app/src/main/java/com/nivesh/production/bajajfd/util/Common.kt b/app/src/main/java/com/nivesh/production/bajajfd/util/Common.kt index 9e980ec..1942188 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/util/Common.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/util/Common.kt @@ -11,15 +11,18 @@ import android.os.Build import android.provider.ContactsContract import android.text.format.DateFormat import android.util.Patterns +import android.widget.Toast import com.google.android.material.textfield.MaterialAutoCompleteTextView import com.google.android.material.textfield.TextInputEditText import com.google.android.material.textfield.TextInputLayout import com.google.gson.JsonObject import com.nivesh.production.bajajfd.R +import com.nivesh.production.bajajfd.ui.activity.BajajFdMainActivity import com.nivesh.production.bajajfd.ui.activity.BaseActivity +import kotlinx.coroutines.CoroutineExceptionHandler import retrofit2.HttpException import java.io.IOException -import java.net.SocketTimeoutException +import java.net.UnknownHostException import java.text.SimpleDateFormat import java.util.* import java.util.regex.Matcher @@ -36,7 +39,7 @@ class Common { val connectivityManager = getApplication().getSystemService(.... **/ //internet check - fun isNetworkAvailable(activity: BaseActivity): Boolean { + fun isNetworkAvailable(activity: Activity): Boolean { val connectivityManager = activity.getSystemService( Context.CONNECTIVITY_SERVICE ) as ConnectivityManager @@ -187,22 +190,34 @@ class Common { return simpleDateFormat.format(mDate as Date) } - fun handleRatesResponse(response: retrofit2.Response): Resource { - try { + fun handleResponse(response: retrofit2.Response): Resource { + // try { if (response.isSuccessful && response.body() != null) { response.body()?.let { resultResponse -> return Resource.Success(resultResponse) } } - } catch (t: Throwable) { - return when (t) { - is IOException -> Resource.Error("Response : " + t.message.plus(" Cause: " + t.cause)) - is HttpException -> Resource.Error("Response : " + t.message.plus(" Cause: " + t.cause)) - is SocketTimeoutException -> Resource.Error("Response : " + t.message.plus(" Cause: " + t.cause)) - else -> Resource.Error(t.localizedMessage?.toString() ?: "") +// } catch (t: Throwable) { +// return when (t) { +// is IOException -> Resource.Error("Response : " + t.message.plus(" Cause: " + t.cause)) +// is HttpException -> Resource.Error("Response : " + t.message.plus(" Cause: " + t.cause)) +// is SocketTimeoutException -> Resource.Error("Response : " + t.message.plus(" Cause: " + t.cause)) +// is UnknownHostException -> Resource.Error("Response : " + t.message.plus(" Cause: " + t.cause)) +// else -> Resource.Error(t.localizedMessage?.toString() ?: "") +// } +// } + return Resource.Error(response.message()) + } + + fun handleError(activity: Activity): CoroutineExceptionHandler { + val handler = CoroutineExceptionHandler { _, exception -> + if (exception is IOException || exception is HttpException){ + showDialogValidation(activity, "Response : ".plus( exception.message).plus(" Cause: " ).plus(exception.cause)) + }else{ + showDialogValidation(activity, "Response : ".plus(exception.localizedMessage?.toString())) } } - return Resource.Error(response.message()) + return handler } fun isMinor(date: String): Boolean { diff --git a/app/src/main/java/com/nivesh/production/bajajfd/util/Resource.kt b/app/src/main/java/com/nivesh/production/bajajfd/util/Resource.kt index ef9662e..c59bd6a 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/util/Resource.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/util/Resource.kt @@ -1,10 +1,26 @@ package com.nivesh.production.bajajfd.util sealed class Resource( - val data:T?=null, - val message:String?=null) -{ - class Success(data: T):Resource(data) - class Error(message: String,data: T?= null):Resource(data,message) - class Loading:Resource() + val data: T? = null, + var message: String? = null, + val errorCode: Int? = null, + var status: Boolean = true + +) { + class Success(data: T) : Resource(data) + class Error(message: String, data: T? = null) : Resource(data, message) + class Loading : Resource() + class DataError(errorCode: Int, message: String, data: T? = null) : + Resource(null, message, errorCode) + + + override fun toString(): String { + return when (this) { + is Success<*> -> "Success[data=$data]" + is DataError -> "ErrorCode[exception=$errorCode]" + is Loading -> "Loading" + is Error -> "Error[exception=${error(Any())}]" + } + + } } \ No newline at end of file diff --git a/app/src/main/java/com/nivesh/production/bajajfd/viewModel/BajajFDViewModel.kt b/app/src/main/java/com/nivesh/production/bajajfd/viewModel/BajajFDViewModel.kt index 5a946ad..5cee438 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/viewModel/BajajFDViewModel.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/viewModel/BajajFDViewModel.kt @@ -1,53 +1,52 @@ package com.nivesh.production.bajajfd.viewModel -import android.util.Log +import android.app.Activity import androidx.lifecycle.MutableLiveData import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope import com.google.gson.JsonObject import com.nivesh.production.bajajfd.model.* import com.nivesh.production.bajajfd.repositories.MainRepository -import com.nivesh.production.bajajfd.util.Common.Companion.handleRatesResponse +import com.nivesh.production.bajajfd.ui.activity.BajajFdMainActivity +import com.nivesh.production.bajajfd.util.Common +import com.nivesh.production.bajajfd.util.Common.Companion.handleError +import com.nivesh.production.bajajfd.util.Common.Companion.handleResponse import com.nivesh.production.bajajfd.util.Resource import kotlinx.coroutines.launch class BajajFDViewModel(private val mainRepository: MainRepository) : ViewModel() { val getStepsCountMutableData: MutableLiveData> = MutableLiveData() - fun getStepsCount(requestBody: FDStepsCountRequest, token: String) = viewModelScope.launch { - getStepsCountMutableData.postValue(Resource.Loading()) - val response = mainRepository.getStepsCountResponse(requestBody, token) - Log.e("response", "-->"+response) - getStepsCountMutableData.postValue(handleRatesResponse(response)) + fun getStepsCount( + requestBody: FDStepsCountRequest, + token: String, + activity: Activity + ) = viewModelScope.launch(handleError(activity)) { + if (Common.isNetworkAvailable(activity)) { + getStepsCountMutableData.postValue(Resource.Loading()) + val response = mainRepository.getStepsCountResponse(requestBody, token) + getStepsCountMutableData.postValue(handleResponse(response)) + } } val getClientDetailsMutableData: MutableLiveData> = MutableLiveData() - fun getClientDetails(getClientDetailsRequest: getClientDetailsRequest, token: String) = - viewModelScope.launch { - getClientDetailsMutableData.postValue(Resource.Loading()) - val response = mainRepository.getClientDetailsResponse(getClientDetailsRequest, token) - getClientDetailsMutableData.postValue(handleRatesResponse(response)) + fun getClientDetails(getClientDetailsRequest: getClientDetailsRequest, token: String, activity: Activity) = + viewModelScope.launch(handleError(activity)) { + if (Common.isNetworkAvailable(activity)) { + getClientDetailsMutableData.postValue(Resource.Loading()) + val response = + mainRepository.getClientDetailsResponse(getClientDetailsRequest, token) + getClientDetailsMutableData.postValue(handleResponse(response)) + } } - val getFDResponseMutableData: MutableLiveData> = MutableLiveData() - fun createFDApi(getRatesRequest: CreateFDRequest, token: String) = viewModelScope.launch { - getFDResponseMutableData.postValue(Resource.Loading()) - val response = mainRepository.createFDKYCResponse(getRatesRequest, token) - getFDResponseMutableData.postValue(handleRatesResponse(response)) - } - - val getFDOtherMutableData: MutableLiveData> = MutableLiveData() - fun saveFDOtherData(getRatesRequest: SaveFDOtherDataRequest, token: String) = viewModelScope.launch { - getFDOtherMutableData.postValue(Resource.Loading()) - val response = mainRepository.saveFDOtherDataResponse(getRatesRequest, token) - getFDOtherMutableData.postValue(handleRatesResponse(response)) - } - val getFDKYCMutableData: MutableLiveData> = MutableLiveData() - fun checkFDKYC(requestBody: CheckFDKYCRequest, token : String) = viewModelScope.launch { - getFDKYCMutableData.postValue(Resource.Loading()) - val response = mainRepository.checkFDKYCRequest(requestBody, token) - getFDKYCMutableData.postValue(handleRatesResponse(response)) + fun checkFDKYC(requestBody: CheckFDKYCRequest, token : String, activity: Activity) = viewModelScope.launch(handleError(activity)) { + if (Common.isNetworkAvailable(activity)) { + getFDKYCMutableData.postValue(Resource.Loading()) + val response = mainRepository.checkFDKYCRequest(requestBody, token) + getFDKYCMutableData.postValue(handleResponse(response)) + } } } \ No newline at end of file diff --git a/app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepFourBajajFDViewModel.kt b/app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepFourBajajFDViewModel.kt index 2009dfa..b5347e5 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepFourBajajFDViewModel.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepFourBajajFDViewModel.kt @@ -1,5 +1,6 @@ package com.nivesh.production.bajajfd.viewModel +import android.app.Activity import androidx.lifecycle.MutableLiveData import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope @@ -9,56 +10,79 @@ import com.nivesh.production.bajajfd.model.GetFDDetailsRequest import com.nivesh.production.bajajfd.model.GetRatesRequest import com.nivesh.production.bajajfd.model.SaveFDOtherDataRequest import com.nivesh.production.bajajfd.repositories.MainRepository -import com.nivesh.production.bajajfd.util.Common.Companion.handleRatesResponse +import com.nivesh.production.bajajfd.util.Common +import com.nivesh.production.bajajfd.util.Common.Companion.handleResponse import com.nivesh.production.bajajfd.util.Resource import kotlinx.coroutines.launch class StepFourBajajFDViewModel(private val mainRepository: MainRepository) : ViewModel() { val getPaymentModeMutableData: MutableLiveData> = MutableLiveData() - fun paymentModeApi(getCodeRequest: GetCodeRequest, token: String) = viewModelScope.launch { - getPaymentModeMutableData.postValue(Resource.Loading()) - val response = mainRepository.payModeCheck(getCodeRequest, token) - getPaymentModeMutableData.postValue(handleRatesResponse(response)) + fun paymentModeApi(getCodeRequest: GetCodeRequest, token: String, + activity: Activity + ) = viewModelScope.launch(Common.handleError(activity)) { + if (Common.isNetworkAvailable(activity)) { + getPaymentModeMutableData.postValue(Resource.Loading()) + val response = mainRepository.payModeCheck(getCodeRequest, token) + getPaymentModeMutableData.postValue(handleResponse(response)) + } } val getFDDetailsMutableData: MutableLiveData> = MutableLiveData() - fun getFDDetails(getRatesRequest: GetFDDetailsRequest, token: String) = viewModelScope.launch { - getFDDetailsMutableData.postValue(Resource.Loading()) - val response = mainRepository.getFDDetailsResponse(getRatesRequest, token) - getFDDetailsMutableData.postValue(handleRatesResponse(response)) + fun getFDDetails(getRatesRequest: GetFDDetailsRequest, token: String, + activity: Activity) = viewModelScope.launch(Common.handleError(activity)) { + if (Common.isNetworkAvailable(activity)) { + getFDDetailsMutableData.postValue(Resource.Loading()) + val response = mainRepository.getFDDetailsResponse(getRatesRequest, token) + getFDDetailsMutableData.postValue(handleResponse(response)) + } } val getRatesMutableData: MutableLiveData> = MutableLiveData() - fun updateFDPaymentStatus(getRatesRequest: GetRatesRequest, token: String) = - viewModelScope.launch { - getRatesMutableData.postValue(Resource.Loading()) - val response = mainRepository.updateFDPaymentStatusResponse(getRatesRequest, token) - getRatesMutableData.postValue(handleRatesResponse(response)) + fun updateFDPaymentStatus(getRatesRequest: GetRatesRequest, token: String, + activity: Activity) = + viewModelScope.launch(Common.handleError(activity)) { + if (Common.isNetworkAvailable(activity)) { + getRatesMutableData.postValue(Resource.Loading()) + val response = mainRepository.updateFDPaymentStatusResponse(getRatesRequest, token) + getRatesMutableData.postValue(handleResponse(response)) + } } - fun finaliseFD(getRatesRequest: GetRatesRequest, token: String) = viewModelScope.launch { - getRatesMutableData.postValue(Resource.Loading()) - val response = mainRepository.finaliseFDResponse(getRatesRequest, token) - getRatesMutableData.postValue(handleRatesResponse(response)) + fun finaliseFD(getRatesRequest: GetRatesRequest, token: String, + activity: Activity) = viewModelScope.launch(Common.handleError(activity)) { + if (Common.isNetworkAvailable(activity)) { + getRatesMutableData.postValue(Resource.Loading()) + val response = mainRepository.finaliseFDResponse(getRatesRequest, token) + getRatesMutableData.postValue(handleResponse(response)) + } } - fun finaliseKYC(getRatesRequest: GetRatesRequest, token: String) = viewModelScope.launch { - getRatesMutableData.postValue(Resource.Loading()) - val response = mainRepository.finaliseKYCResponse(getRatesRequest, token) - getRatesMutableData.postValue(handleRatesResponse(response)) + fun finaliseKYC(getRatesRequest: GetRatesRequest, token: String, + activity: Activity) = viewModelScope.launch(Common.handleError(activity)) { + if (Common.isNetworkAvailable(activity)) { + getRatesMutableData.postValue(Resource.Loading()) + val response = mainRepository.finaliseKYCResponse(getRatesRequest, token) + getRatesMutableData.postValue(handleResponse(response)) + } } - fun paymentReQuery(getRatesRequest: GetRatesRequest, token: String) = viewModelScope.launch { - getRatesMutableData.postValue(Resource.Loading()) - val response = mainRepository.paymentReQueryResponse(getRatesRequest, token) - getRatesMutableData.postValue(handleRatesResponse(response)) + fun paymentReQuery(getRatesRequest: GetRatesRequest, token: String, + activity: Activity) = viewModelScope.launch(Common.handleError(activity)) { + if (Common.isNetworkAvailable(activity)) { + getRatesMutableData.postValue(Resource.Loading()) + val response = mainRepository.paymentReQueryResponse(getRatesRequest, token) + getRatesMutableData.postValue(handleResponse(response)) + } } val getFDOtherMutableData: MutableLiveData> = MutableLiveData() - fun saveFDOtherData(getRatesRequest: SaveFDOtherDataRequest, token: String) = viewModelScope.launch { - getFDOtherMutableData.postValue(Resource.Loading()) - val response = mainRepository.saveFDOtherDataResponse(getRatesRequest, token) - getFDOtherMutableData.postValue(handleRatesResponse(response)) + fun saveFDOtherData(getRatesRequest: SaveFDOtherDataRequest, token: String, + activity: Activity) = viewModelScope.launch(Common.handleError(activity)) { + if (Common.isNetworkAvailable(activity)) { + getFDOtherMutableData.postValue(Resource.Loading()) + val response = mainRepository.saveFDOtherDataResponse(getRatesRequest, token) + getFDOtherMutableData.postValue(handleResponse(response)) + } } } \ No newline at end of file diff --git a/app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepOneBajajFDViewModel.kt b/app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepOneBajajFDViewModel.kt index b684e8e..e92e57a 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepOneBajajFDViewModel.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepOneBajajFDViewModel.kt @@ -1,5 +1,6 @@ package com.nivesh.production.bajajfd.viewModel +import android.app.Activity import androidx.lifecycle.MutableLiveData import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope @@ -9,7 +10,8 @@ import com.nivesh.production.bajajfd.model.GetCodeRequest import com.nivesh.production.bajajfd.model.GetMaturityAmountRequest import com.nivesh.production.bajajfd.model.GetRatesRequest import com.nivesh.production.bajajfd.repositories.MainRepository -import com.nivesh.production.bajajfd.util.Common.Companion.handleRatesResponse +import com.nivesh.production.bajajfd.util.Common +import com.nivesh.production.bajajfd.util.Common.Companion.handleResponse import com.nivesh.production.bajajfd.util.Constants.Companion.token import com.nivesh.production.bajajfd.util.Resource import kotlinx.coroutines.launch @@ -17,50 +19,57 @@ import kotlinx.coroutines.launch class StepOneBajajFDViewModel(private val mainRepository: MainRepository) : ViewModel() { val getCodeMutableData: MutableLiveData> = MutableLiveData() - fun getCode(requestBody: GetCodeRequest, token : String) = viewModelScope.launch { - getCodeMutableData.postValue(Resource.Loading()) - val response = mainRepository.getCodesResponse(requestBody, token) - getCodeMutableData.postValue(handleRatesResponse(response)) + fun getCode(requestBody: GetCodeRequest, token : String, activity: Activity) = viewModelScope.launch( + Common.handleError(activity) + ) { + if (Common.isNetworkAvailable(activity)) { + getCodeMutableData.postValue(Resource.Loading()) + val response = mainRepository.getCodesResponse(requestBody, token) + getCodeMutableData.postValue(handleResponse(response)) + } } val getRatesMutableData: MutableLiveData> = MutableLiveData() - fun getRates(getRatesRequest: GetRatesRequest, token: String) = viewModelScope.launch { - getRatesMutableData.postValue(Resource.Loading()) - val response = mainRepository.getRatesResponse(getRatesRequest, token) - getRatesMutableData.postValue(handleRatesResponse(response)) + fun getRates(getRatesRequest: GetRatesRequest, token: String, activity: Activity) = viewModelScope.launch( + Common.handleError(activity) + ) { + if (Common.isNetworkAvailable(activity)) { + getRatesMutableData.postValue(Resource.Loading()) + val response = mainRepository.getRatesResponse(getRatesRequest, token) + getRatesMutableData.postValue(handleResponse(response)) + } } val getMaturityAmountMutableData: MutableLiveData> = MutableLiveData() - fun getMaturityAmount(requestBody: GetMaturityAmountRequest) = viewModelScope.launch { - getMaturityAmountMutableData.postValue(Resource.Loading()) - val response = mainRepository.createCalculateFDMaturityAmount(requestBody, token) - getMaturityAmountMutableData.postValue(handleRatesResponse(response)) + fun getMaturityAmount(requestBody: GetMaturityAmountRequest, activity: Activity) = viewModelScope.launch ( + Common.handleError(activity) + ){ + if (Common.isNetworkAvailable(activity)) { + getMaturityAmountMutableData.postValue(Resource.Loading()) + val response = mainRepository.createCalculateFDMaturityAmount(requestBody, token) + getMaturityAmountMutableData.postValue(handleResponse(response)) + } } val getMinAmountMutableData: MutableLiveData> = MutableLiveData() - fun getMinAmount(requestBody: GetCodeRequest, token : String) = viewModelScope.launch { - getMinAmountMutableData.postValue(Resource.Loading()) - val response = mainRepository.getCodesResponse(requestBody, token) - getMinAmountMutableData.postValue(handleRatesResponse(response)) + fun getMinAmount(requestBody: GetCodeRequest, token : String, activity: Activity) = viewModelScope.launch( + Common.handleError(activity) + ) { + if (Common.isNetworkAvailable(activity)) { + getMinAmountMutableData.postValue(Resource.Loading()) + val response = mainRepository.getCodesResponse(requestBody, token) + getMinAmountMutableData.postValue(handleResponse(response)) + } } val getMaxAmountMutableData: MutableLiveData> = MutableLiveData() - fun getMaxAmount(requestBody: GetCodeRequest, token : String) = viewModelScope.launch { - getMaxAmountMutableData.postValue(Resource.Loading()) - val response = mainRepository.getCodesResponse(requestBody, token) - getMaxAmountMutableData.postValue(handleRatesResponse(response)) + fun getMaxAmount(requestBody: GetCodeRequest, token : String,activity: Activity) = viewModelScope.launch( + Common.handleError(activity) + ) { + if (Common.isNetworkAvailable(activity)) { + getMaxAmountMutableData.postValue(Resource.Loading()) + val response = mainRepository.getCodesResponse(requestBody, token) + getMaxAmountMutableData.postValue(handleResponse(response)) + } } - - - -// private fun handleRatesResponse(response: retrofit2.Response): Resource { -// if (response.isSuccessful) { -// response.body()?.let { resultResponse -> -// return Resource.Success(resultResponse) -// } -// } -// return Resource.Error(response.message()) -// -// } - } \ No newline at end of file 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 85f5acd..f65da9a 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 @@ -1,5 +1,6 @@ package com.nivesh.production.bajajfd.viewModel +import android.app.Activity import androidx.lifecycle.MutableLiveData import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope @@ -9,31 +10,44 @@ import com.nivesh.production.bajajfd.model.DocumentUpload 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.Common.Companion.handleRatesResponse +import com.nivesh.production.bajajfd.util.Common +import com.nivesh.production.bajajfd.util.Common.Companion.handleResponse import com.nivesh.production.bajajfd.util.Resource import kotlinx.coroutines.launch class StepThreeBajajFDViewModel(private val mainRepository: MainRepository) : ViewModel() { 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)) + fun titleApi(getCodeRequest: GetCodeRequest, token: String, activity: Activity) = viewModelScope.launch( + Common.handleError(activity) + ) { + if (Common.isNetworkAvailable(activity)) { + getTitleMutableData.postValue(Resource.Loading()) + val response = mainRepository.titleCheck(getCodeRequest, token) + getTitleMutableData.postValue(handleResponse(response)) + } } val getDocumentUploadMutableData: MutableLiveData> = MutableLiveData() - fun documentsUpload(documentUpload: DocumentUpload, token: String) = viewModelScope.launch { - getDocumentUploadMutableData.postValue(Resource.Loading()) - val response = mainRepository.documentsUploadResponse(documentUpload, token) - getDocumentUploadMutableData.postValue(handleRatesResponse(response)) + fun documentsUpload(documentUpload: DocumentUpload, token: String, activity: Activity) = viewModelScope.launch( + Common.handleError(activity) + ) { + if (Common.isNetworkAvailable(activity)) { + getDocumentUploadMutableData.postValue(Resource.Loading()) + val response = mainRepository.documentsUploadResponse(documentUpload, token) + getDocumentUploadMutableData.postValue(handleResponse(response)) + } } val getFDResponseMutableData: MutableLiveData> = MutableLiveData() - fun createFDApi(getRatesRequest: CreateFDRequest, token: String) = viewModelScope.launch { - getFDResponseMutableData.postValue(Resource.Loading()) - val response = mainRepository.createFDKYCResponse(getRatesRequest, token) - getFDResponseMutableData.postValue(handleRatesResponse(response)) + fun createFDApi(getRatesRequest: CreateFDRequest, token: String, activity: Activity) = viewModelScope.launch( + Common.handleError(activity) + ) { + if (Common.isNetworkAvailable(activity)) { + getFDResponseMutableData.postValue(Resource.Loading()) + val response = mainRepository.createFDKYCResponse(getRatesRequest, token) + getFDResponseMutableData.postValue(handleResponse(response)) + } } } \ No newline at end of file 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 5ce7894..db2e02e 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 @@ -1,114 +1,172 @@ package com.nivesh.production.bajajfd.viewModel +import android.app.Activity import androidx.lifecycle.MutableLiveData import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope import com.google.gson.JsonObject import com.nivesh.production.bajajfd.model.* import com.nivesh.production.bajajfd.repositories.MainRepository -import com.nivesh.production.bajajfd.util.Common.Companion.handleRatesResponse +import com.nivesh.production.bajajfd.util.Common +import com.nivesh.production.bajajfd.util.Common.Companion.handleResponse import com.nivesh.production.bajajfd.util.Resource import kotlinx.coroutines.launch class StepTwoBajajFDViewModel(private val mainRepository: MainRepository) : ViewModel() { val getPanCheckMutableData: MutableLiveData> = MutableLiveData() - fun panCheck(panCheck: PanCheckRequest, token: String) = viewModelScope.launch { - getPanCheckMutableData.postValue(Resource.Loading()) - val response = mainRepository.panCheck(panCheck, token) - getPanCheckMutableData.postValue(handleRatesResponse(response)) + fun panCheck(panCheck: PanCheckRequest, token: String, activity : Activity) = viewModelScope.launch( + Common.handleError(activity) + ) { + if (Common.isNetworkAvailable(activity)) { + getPanCheckMutableData.postValue(Resource.Loading()) + val response = mainRepository.panCheck(panCheck, token) + getPanCheckMutableData.postValue(handleResponse(response)) + } } 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)) + fun titleApi(getCodeRequest: GetCodeRequest, token: String, activity : Activity) = viewModelScope.launch( + Common.handleError(activity) + ) { + if (Common.isNetworkAvailable(activity)) { + getTitleMutableData.postValue(Resource.Loading()) + val response = mainRepository.titleCheck(getCodeRequest, token) + getTitleMutableData.postValue(handleResponse(response)) + } } val getGenderMutableData: MutableLiveData> = MutableLiveData() - fun genderApi(getCodeRequest: GetCodeRequest, token: String) = viewModelScope.launch { - getGenderMutableData.postValue(Resource.Loading()) - val response = mainRepository.genderCheck(getCodeRequest, token) - getGenderMutableData.postValue(handleRatesResponse(response)) + fun genderApi(getCodeRequest: GetCodeRequest, token: String,activity : Activity) = viewModelScope.launch( + Common.handleError(activity) + ) { + if (Common.isNetworkAvailable(activity)) { + getGenderMutableData.postValue(Resource.Loading()) + val response = mainRepository.genderCheck(getCodeRequest, token) + getGenderMutableData.postValue(handleResponse(response)) + } } val getAnnualIncomeMutableData: MutableLiveData> = MutableLiveData() - fun annualIncomeApi(getCodeRequest: GetCodeRequest, token: String) = viewModelScope.launch { - getAnnualIncomeMutableData.postValue(Resource.Loading()) - val response = mainRepository.annualIncomeCheck(getCodeRequest, token) - getAnnualIncomeMutableData.postValue(handleRatesResponse(response)) + fun annualIncomeApi(getCodeRequest: GetCodeRequest, token: String,activity : Activity) = viewModelScope.launch( + Common.handleError(activity) + ) { + if (Common.isNetworkAvailable(activity)) { + getAnnualIncomeMutableData.postValue(Resource.Loading()) + val response = mainRepository.annualIncomeCheck(getCodeRequest, token) + getAnnualIncomeMutableData.postValue(handleResponse(response)) + } } val getRelationShipMutableData: MutableLiveData> = MutableLiveData() - fun relationShipApi(getCodeRequest: GetCodeRequest, token: String) = viewModelScope.launch { - getRelationShipMutableData.postValue(Resource.Loading()) - val response = mainRepository.relationShipCheck(getCodeRequest, token) - getRelationShipMutableData.postValue(handleRatesResponse(response)) + fun relationShipApi(getCodeRequest: GetCodeRequest, token: String,activity : Activity) = viewModelScope.launch( + Common.handleError(activity) + ) { + if (Common.isNetworkAvailable(activity)) { + getRelationShipMutableData.postValue(Resource.Loading()) + val response = mainRepository.relationShipCheck(getCodeRequest, token) + getRelationShipMutableData.postValue(handleResponse(response)) + } } val getMaritalStatusMutableData: MutableLiveData> = MutableLiveData() - fun maritalStatusApi(getCodeRequest: GetCodeRequest, token: String) = viewModelScope.launch { - getMaritalStatusMutableData.postValue(Resource.Loading()) - val response = mainRepository.maritalStatusCheck(getCodeRequest, token) - getMaritalStatusMutableData.postValue(handleRatesResponse(response)) + fun maritalStatusApi(getCodeRequest: GetCodeRequest, token: String,activity : Activity) = viewModelScope.launch( + Common.handleError(activity) + ) { + if (Common.isNetworkAvailable(activity)) { + getMaritalStatusMutableData.postValue(Resource.Loading()) + val response = mainRepository.maritalStatusCheck(getCodeRequest, token) + getMaritalStatusMutableData.postValue(handleResponse(response)) + } } val getOccupationMutableData: MutableLiveData> = MutableLiveData() - fun occupationApi(getCodeRequest: GetCodeRequest, token: String) = viewModelScope.launch { - getOccupationMutableData.postValue(Resource.Loading()) - val response = mainRepository.occupationCheck(getCodeRequest, token) - getOccupationMutableData.postValue(handleRatesResponse(response)) + fun occupationApi(getCodeRequest: GetCodeRequest, token: String,activity : Activity) = viewModelScope.launch( + Common.handleError(activity) + ) { + if (Common.isNetworkAvailable(activity)) { + getOccupationMutableData.postValue(Resource.Loading()) + val response = mainRepository.occupationCheck(getCodeRequest, token) + getOccupationMutableData.postValue(handleResponse(response)) + } } val getStateMasterMutableData: MutableLiveData> = MutableLiveData() - fun stateApi(token: String) = viewModelScope.launch { - getStateMasterMutableData.postValue(Resource.Loading()) - val response = mainRepository.stateCheck( token) - getStateMasterMutableData.postValue(handleRatesResponse(response)) + fun stateApi(token: String,activity : Activity) = viewModelScope.launch( + Common.handleError(activity) + ) { + if (Common.isNetworkAvailable(activity)) { + getStateMasterMutableData.postValue(Resource.Loading()) + val response = mainRepository.stateCheck(token) + getStateMasterMutableData.postValue(handleResponse(response)) + } } val getCityListMutableData: MutableLiveData> = MutableLiveData() - fun cityListApi(cityRequest: CityRequest, token: String) = viewModelScope.launch { - getCityListMutableData.postValue(Resource.Loading()) - val response = mainRepository.cityCheck(cityRequest, token) - getCityListMutableData.postValue(handleRatesResponse(response)) + fun cityListApi(cityRequest: CityRequest, token: String,activity : Activity) = viewModelScope.launch( + Common.handleError(activity) + ) { + if (Common.isNetworkAvailable(activity)) { + getCityListMutableData.postValue(Resource.Loading()) + val response = mainRepository.cityCheck(cityRequest, token) + getCityListMutableData.postValue(handleResponse(response)) + } } val getFDBankListMutableData: MutableLiveData> = MutableLiveData() - fun bankListApi( token: String) = viewModelScope.launch { - getFDBankListMutableData.postValue(Resource.Loading()) - val response = mainRepository.bankListCheck( token) - getFDBankListMutableData.postValue(handleRatesResponse(response)) + fun bankListApi( token: String,activity : Activity) = viewModelScope.launch( + Common.handleError(activity) + ) { + if (Common.isNetworkAvailable(activity)) { + getFDBankListMutableData.postValue(Resource.Loading()) + val response = mainRepository.bankListCheck(token) + getFDBankListMutableData.postValue(handleResponse(response)) + } } val getifscCodeCheckMutableData: MutableLiveData> = MutableLiveData() - fun ifscCodeApi(ifsc : String) = viewModelScope.launch { - getifscCodeCheckMutableData.postValue(Resource.Loading()) - val response = mainRepository.ifscCodeCheck(ifsc) - getifscCodeCheckMutableData.postValue(handleRatesResponse(response)) + fun ifscCodeApi(ifsc : String,activity : Activity) = viewModelScope.launch( + Common.handleError(activity) + ) { + if (Common.isNetworkAvailable(activity)) { + getifscCodeCheckMutableData.postValue(Resource.Loading()) + val response = mainRepository.ifscCodeCheck(ifsc) + getifscCodeCheckMutableData.postValue(handleResponse(response)) + } } val getifscCodeDetailsCheckMutableData: MutableLiveData> = MutableLiveData() - fun ifscCodeDetailsApi(ifsc : String, token: String) = viewModelScope.launch { - getifscCodeDetailsCheckMutableData.postValue(Resource.Loading()) - val response = mainRepository.ifscCodeDetailsCheck(ifsc, token) - getifscCodeDetailsCheckMutableData.postValue(handleRatesResponse(response)) + fun ifscCodeDetailsApi(ifsc : String, token: String,activity : Activity) = viewModelScope.launch( + Common.handleError(activity) + ) { + if (Common.isNetworkAvailable(activity)) { + getifscCodeDetailsCheckMutableData.postValue(Resource.Loading()) + val response = mainRepository.ifscCodeDetailsCheck(ifsc, token) + getifscCodeDetailsCheckMutableData.postValue(handleResponse(response)) + } } val getPaymentModeMutableData: MutableLiveData> = MutableLiveData() - fun paymentModeApi(getCodeRequest: GetCodeRequest, token: String) = viewModelScope.launch { - getPaymentModeMutableData.postValue(Resource.Loading()) - val response = mainRepository.payModeCheck(getCodeRequest, token) - getPaymentModeMutableData.postValue(handleRatesResponse(response)) + fun paymentModeApi(getCodeRequest: GetCodeRequest, token: String,activity : Activity) = viewModelScope.launch( + Common.handleError(activity) + ) { + if (Common.isNetworkAvailable(activity)) { + getPaymentModeMutableData.postValue(Resource.Loading()) + val response = mainRepository.payModeCheck(getCodeRequest, token) + getPaymentModeMutableData.postValue(handleResponse(response)) + } } val getFDResponseMutableData: MutableLiveData> = MutableLiveData() - fun createFDApi(getRatesRequest: CreateFDRequest, token: String) = viewModelScope.launch { - getFDResponseMutableData.postValue(Resource.Loading()) - val response = mainRepository.createFDKYCResponse(getRatesRequest, token) - getFDResponseMutableData.postValue(handleRatesResponse(response)) + fun createFDApi(getRatesRequest: CreateFDRequest, token: String,activity : Activity) = viewModelScope.launch( + Common.handleError(activity) + ) { + if (Common.isNetworkAvailable(activity)) { + getFDResponseMutableData.postValue(Resource.Loading()) + val response = mainRepository.createFDKYCResponse(getRatesRequest, token) + getFDResponseMutableData.postValue(handleResponse(response)) + } } } \ 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 1e251d4..8886248 100644 --- a/app/src/main/res/layout/fragment_bajajfd_step_three.xml +++ b/app/src/main/res/layout/fragment_bajajfd_step_three.xml @@ -165,8 +165,9 @@ android:background="@drawable/rounded_corner_with_line" android:hint="@string/addressProofType" android:inputType="none" + android:padding="@dimen/margin_5" android:labelFor="@+id/spInterestPayout" - android:textColorHint="#757575" + android:textColorHint="@color/greyColor2" android:textSize="@dimen/text_size_14" tools:layout_editor_absoluteY="230dp" /> diff --git a/app/src/main/res/layout/fragment_bajajfd_step_two.xml b/app/src/main/res/layout/fragment_bajajfd_step_two.xml index d10b0e2..20c5ec9 100644 --- a/app/src/main/res/layout/fragment_bajajfd_step_two.xml +++ b/app/src/main/res/layout/fragment_bajajfd_step_two.xml @@ -193,11 +193,12 @@ android:id="@+id/spTitle" android:layout_width="match_parent" android:layout_height="wrap_content" + android:padding="@dimen/margin_5" android:background="@drawable/rounded_corner_with_line" android:hint="@string/selectTitle" android:inputType="none" android:labelFor="@+id/spInterestPayout" - android:textColorHint="#757575" + android:textColorHint="@color/greyColor2" android:textSize="@dimen/text_size_14" /> @@ -222,8 +223,9 @@ android:background="@drawable/rounded_corner_with_line" android:hint="@string/selectGender" android:inputType="none" + android:padding="@dimen/margin_5" android:labelFor="@+id/spInterestPayout" - android:textColorHint="#757575" + android:textColorHint="@color/greyColor2" android:textSize="@dimen/text_size_14" /> @@ -296,7 +298,10 @@ style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.ExposedDropdownMenu" android:layout_width="match_parent" android:layout_height="wrap_content" - android:layout_margin="@dimen/margin_5" + 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"> @@ -317,7 +323,10 @@ style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.ExposedDropdownMenu" android:layout_width="match_parent" android:layout_height="wrap_content" - android:layout_margin="@dimen/margin_5" + 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"> @@ -374,8 +384,9 @@ android:background="@drawable/rounded_corner_with_line" android:hint="@string/selectMaritalStatus" android:inputType="none" + android:padding="@dimen/margin_5" android:labelFor="@+id/spInterestPayout" - android:textColorHint="#757575" + android:textColorHint="@color/greyColor2" android:textSize="@dimen/text_size_14" /> @@ -465,7 +476,10 @@ style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.ExposedDropdownMenu" android:layout_width="match_parent" android:layout_height="wrap_content" - android:layout_margin="@dimen/margin_5" + 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"> @@ -486,7 +501,10 @@ style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.ExposedDropdownMenu" android:layout_width="match_parent" android:layout_height="wrap_content" - android:layout_margin="@dimen/margin_5" + 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"> @@ -567,9 +586,10 @@ android:layout_height="wrap_content" android:background="@drawable/rounded_corner_with_line" android:hint="@string/selectTitle" + android:padding="@dimen/margin_5" android:inputType="none" android:labelFor="@+id/spInterestPayout" - android:textColorHint="#757575" + android:textColorHint="@color/greyColor2" android:textSize="@dimen/text_size_14" /> @@ -675,9 +695,10 @@ android:layout_height="wrap_content" android:background="@drawable/rounded_corner_with_line" android:hint="@string/selectRelation" + android:padding="@dimen/margin_5" android:inputType="none" android:labelFor="@+id/spInterestPayout" - android:textColorHint="#757575" + android:textColorHint="@color/greyColor2" android:textSize="@dimen/text_size_14" /> @@ -750,9 +771,10 @@ android:layout_height="wrap_content" android:background="@drawable/rounded_corner_with_line" android:hint="@string/selectRelation" + android:padding="@dimen/margin_5" android:inputType="none" android:labelFor="@+id/spInterestPayout" - android:textColorHint="#757575" + android:textColorHint="@color/greyColor2" android:textSize="@dimen/text_size_14" />