diff --git a/app/build.gradle b/app/build.gradle index 53d7ad2..1ba611f 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -51,8 +51,8 @@ dependencies { implementation 'androidx.legacy:legacy-support-v4:1.0.0' implementation 'androidx.lifecycle:lifecycle-livedata-ktx:2.5.1' testImplementation 'junit:junit:4.13.2' - androidTestImplementation 'androidx.test.ext:junit:1.1.4' - androidTestImplementation 'androidx.test.espresso:espresso-core:3.5.0' + androidTestImplementation 'androidx.test.ext:junit:1.1.5' + androidTestImplementation 'androidx.test.espresso:espresso-core:3.5.1' // Architectural Components implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:2.5.1" diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 1e58ab2..8bcec28 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -5,11 +5,10 @@ + android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> + , private val NumberOfTabs: Int) : FragmentPagerAdapter(manager, BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT) { +class SectionsPagerAdapter(manager: FragmentManager,private val fragments: Array) : FragmentPagerAdapter(manager, BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT) { private val titles = ArrayList() override fun getItem(position: Int): Fragment = fragments[position] - override fun getCount(): Int = NumberOfTabs + override fun getCount(): Int = fragments.size override fun getPageTitle(position: Int): CharSequence = titles[position] diff --git a/app/src/main/java/com/nivesh/production/bajajfd/interfaces/ApiInterface.kt b/app/src/main/java/com/nivesh/production/bajajfd/interfaces/ApiInterface.kt index ae0f457..b066f1e 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/interfaces/ApiInterface.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/interfaces/ApiInterface.kt @@ -52,13 +52,13 @@ interface ApiInterface { @POST("FinaliseFD") suspend fun finaliseFD( - @Body requestBody: RequestBody, + @Body requestBody: FinalizeFDRequest, @Header("token") token: String ): Response @POST("FinaliseKYC") suspend fun finaliseKYC( - @Body requestBody: RequestBody, + @Body requestBody: FinalizeKYCRequest, @Header("token") token: String ): Response @@ -160,6 +160,12 @@ interface ApiInterface { @Header("token") token: String ): Response + @POST("GetCodes") + suspend fun customerListApi( + @Body getCodeRequest: GetCodeRequest, + @Header("token") token: String + ): Response + @POST("BankValidationAPI_S") suspend fun bankValidationApi( @Body bankValidationApiRequest: BankValidationApiRequest, diff --git a/app/src/main/java/com/nivesh/production/bajajfd/model/FinaliseFD.kt b/app/src/main/java/com/nivesh/production/bajajfd/model/FinaliseFD.kt new file mode 100644 index 0000000..b487f60 --- /dev/null +++ b/app/src/main/java/com/nivesh/production/bajajfd/model/FinaliseFD.kt @@ -0,0 +1,7 @@ +package com.nivesh.production.bajajfd.model + +data class FinaliseFD( + var FDProvider: String? = "", + var NiveshClientCode: String? = "", + var UniqueId: String? = "" +) \ No newline at end of file diff --git a/app/src/main/java/com/nivesh/production/bajajfd/model/FinalizeFDRequest.kt b/app/src/main/java/com/nivesh/production/bajajfd/model/FinalizeFDRequest.kt new file mode 100644 index 0000000..e77b6bf --- /dev/null +++ b/app/src/main/java/com/nivesh/production/bajajfd/model/FinalizeFDRequest.kt @@ -0,0 +1,5 @@ +package com.nivesh.production.bajajfd.model + +data class FinalizeFDRequest( + var FinaliseFD: FinaliseFD? = null +) \ No newline at end of file diff --git a/app/src/main/java/com/nivesh/production/bajajfd/model/FinalizeFDResponse.kt b/app/src/main/java/com/nivesh/production/bajajfd/model/FinalizeFDResponse.kt new file mode 100644 index 0000000..ea2554c --- /dev/null +++ b/app/src/main/java/com/nivesh/production/bajajfd/model/FinalizeFDResponse.kt @@ -0,0 +1,5 @@ +package com.nivesh.production.bajajfd.model + +data class FinalizeFDResponse( + val Response: ResponseXXXXXXXXXXXXXXXX +) \ No newline at end of file diff --git a/app/src/main/java/com/nivesh/production/bajajfd/model/FinalizeKYCRequest.kt b/app/src/main/java/com/nivesh/production/bajajfd/model/FinalizeKYCRequest.kt new file mode 100644 index 0000000..cb1e51e --- /dev/null +++ b/app/src/main/java/com/nivesh/production/bajajfd/model/FinalizeKYCRequest.kt @@ -0,0 +1,7 @@ +package com.nivesh.production.bajajfd.model + +data class FinalizeKYCRequest( + var FDProvider: String? = "", + var NiveshClientCode: String? = "", + var UniqueId: String? = "" +) \ No newline at end of file diff --git a/app/src/main/java/com/nivesh/production/bajajfd/model/ResponseXXXXXXXXXXXXXXXX.kt b/app/src/main/java/com/nivesh/production/bajajfd/model/ResponseXXXXXXXXXXXXXXXX.kt new file mode 100644 index 0000000..c16ac00 --- /dev/null +++ b/app/src/main/java/com/nivesh/production/bajajfd/model/ResponseXXXXXXXXXXXXXXXX.kt @@ -0,0 +1,9 @@ +package com.nivesh.production.bajajfd.model + +data class ResponseXXXXXXXXXXXXXXXX( + val Errors: List, + val Message: String, + val Status: String, + val StatusCode: Int, + val UniqueId: String +) \ No newline at end of file diff --git a/app/src/main/java/com/nivesh/production/bajajfd/repositories/MainRepository.kt b/app/src/main/java/com/nivesh/production/bajajfd/repositories/MainRepository.kt index d93fa59..23eef56 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/repositories/MainRepository.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/repositories/MainRepository.kt @@ -1,23 +1,25 @@ package com.nivesh.production.bajajfd.repositories -import com.google.gson.JsonObject import com.nivesh.production.bajajfd.interfaces.ApiInterface import com.nivesh.production.bajajfd.model.* -import okhttp3.RequestBody class MainRepository constructor(private val apiInterface: ApiInterface) { - suspend fun getRatesResponse(getRatesRequest: GetRatesRequest, token: String) = - apiInterface.getRates(getRatesRequest, token) - - suspend fun getCodesResponse(requestBody: GetCodeRequest, token: String) = - apiInterface.getCodes(requestBody, token) + // MainActivity suspend fun getStepsCountResponse(requestBody: FDStepsCountRequest, token: String) = apiInterface.getFDStepsCount(requestBody, token) suspend fun getClientDetailsResponse(getClientDetails: getClientDetailsRequest, token: String) = apiInterface.getClientDetails(getClientDetails, token) + + // Step One + suspend fun getRatesResponse(getRatesRequest: GetRatesRequest, token: String) = + apiInterface.getRates(getRatesRequest, token) + + suspend fun getCodesResponse(requestBody: GetCodeRequest, token: String) = + apiInterface.getCodes(requestBody, token) + suspend fun createCalculateFDMaturityAmount( requestBody: GetMaturityAmountRequest, token: String @@ -25,30 +27,10 @@ class MainRepository constructor(private val apiInterface: ApiInterface) { apiInterface.getCalculateFDMaturityAmount(requestBody, token) + // Step Two suspend fun createFDKYCResponse(createFDRequest: CreateFDRequest, token: String) = apiInterface.createFDApp(createFDRequest, token) - suspend fun documentsUploadResponse(getRatesRequest: DocumentUpload, token: String) = - apiInterface.documentsUpload(getRatesRequest, token) - - suspend fun saveFDOtherDataResponse(getRatesRequest: SaveFDOtherDataRequest, token: String) = - apiInterface.saveFDOtherData(getRatesRequest, token) - - suspend fun getFDDetailsResponse(getRatesRequest: GetFDDetailsRequest, token: String) = - apiInterface.getFDDetails(getRatesRequest, token) - - suspend fun updateFDPaymentStatusResponse(getRatesRequest: GetRatesRequest, token: String) = - apiInterface.getRates(getRatesRequest, token) - - suspend fun finaliseFDResponse(getRatesRequest: GetRatesRequest, token: String) = - apiInterface.getRates(getRatesRequest, token) - - suspend fun finaliseKYCResponse(getRatesRequest: GetRatesRequest, token: String) = - apiInterface.getRates(getRatesRequest, token) - - suspend fun paymentReQueryResponse(getRatesRequest: PaymentReQueryRequest, token: String) = - apiInterface.paymentReQuery(getRatesRequest, token) - suspend fun panCheck(panCheck: PanCheckRequest, token: String) = apiInterface.panCheckApi(panCheck, token) @@ -88,13 +70,41 @@ class MainRepository constructor(private val apiInterface: ApiInterface) { suspend fun payModeCheck(getCodeRequest: GetCodeRequest, token: String) = apiInterface.payModeApi(getCodeRequest, token) + suspend fun bankValidationApiRequest(bankValidationApiRequest: BankValidationApiRequest, token: String) = + apiInterface.bankValidationApi(bankValidationApiRequest, token) + + + + // Step Three + suspend fun documentsUploadResponse(getRatesRequest: DocumentUpload, token: String) = + apiInterface.documentsUpload(getRatesRequest, token) + + + suspend fun saveFDOtherDataResponse(getRatesRequest: SaveFDOtherDataRequest, token: String) = + apiInterface.saveFDOtherData(getRatesRequest, token) + + suspend fun getFDDetailsResponse(getRatesRequest: GetFDDetailsRequest, token: String) = + apiInterface.getFDDetails(getRatesRequest, token) + + suspend fun updateFDPaymentStatusResponse(getRatesRequest: GetRatesRequest, token: String) = + apiInterface.getRates(getRatesRequest, token) + + + // Step 4 + suspend fun customerListCheck(getCodeRequest: GetCodeRequest, token: String) = + apiInterface.customerListApi(getCodeRequest, token) + suspend fun checkFDKYCRequest(checkFDKYCRequest: CheckFDKYCRequest, token: String) = apiInterface.checkFDKYC(checkFDKYCRequest, token) - suspend fun bankValidationApiRequest(bankValidationApiRequest: BankValidationApiRequest, token: String) = - apiInterface.bankValidationApi(bankValidationApiRequest, token) - suspend fun freshToken(body: RequestBody) = - apiInterface.freshToken(body) + // Step 5 + suspend fun finaliseFDResponse(getRatesRequest: FinalizeFDRequest, token: String) = + apiInterface.finaliseFD(getRatesRequest, token) + suspend fun finaliseKYCResponse(getRatesRequest: FinalizeKYCRequest, token: String) = + apiInterface.finaliseKYC(getRatesRequest, token) + + suspend fun paymentReQueryResponse(getRatesRequest: PaymentReQueryRequest, token: String) = + apiInterface.paymentReQuery(getRatesRequest, token) } \ No newline at end of file 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 f5d0579..af50bde 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 @@ -6,6 +6,7 @@ import android.graphics.Bitmap import android.graphics.drawable.Drawable import android.os.Bundle import android.util.Log +import android.view.View import android.view.WindowManager import android.webkit.WebView import android.webkit.WebViewClient @@ -30,6 +31,8 @@ import com.nivesh.production.bajajfd.util.Common.Companion.selectedShape import com.nivesh.production.bajajfd.util.Common.Companion.showDialogValidation import com.nivesh.production.bajajfd.util.Constants.Companion.token import com.nivesh.production.bajajfd.util.ProgressUtil +import com.nivesh.production.bajajfd.util.ProgressUtil.hideLoading +import com.nivesh.production.bajajfd.util.ProgressUtil.showLoading import com.nivesh.production.bajajfd.util.Resource import com.nivesh.production.bajajfd.viewModel.* @@ -54,7 +57,7 @@ class BajajFdMainActivity : BaseActivity() { var nomineeGuardianDetails: NomineeGuardianDetails = NomineeGuardianDetails() var getClientDetailsResponse: getClientDetailsResponse = getClientDetailsResponse() var uniqueId: String = "" - private var stepCount: Int = 0 + var stepCount: Int = 0 private lateinit var sectionsPagerAdapter: SectionsPagerAdapter private lateinit var fragments: Array var dialogWebView: Dialog? = null @@ -66,15 +69,15 @@ class BajajFdMainActivity : BaseActivity() { } private fun init() { - - binding = ActivityBajajFdBinding.inflate(layoutInflater) - setContentView(binding.root) - //start Repository viewModel = ViewModelProvider( this@BajajFdMainActivity, FDModelProviderFactory(MainRepository(ApiClient.getApiClient)) )[BajajFDViewModel::class.java] + binding = ActivityBajajFdBinding.inflate(layoutInflater) + binding.apply { + setContentView(this.root) + } loginRole = 5 if (Common.isNetworkAvailable(this)) { @@ -88,7 +91,6 @@ class BajajFdMainActivity : BaseActivity() { private fun getStepsCountApi() { if (Common.isNetworkAvailable(this)) { - ProgressUtil.showLoading(this) val fdStepsCount = FDStepsCountRequest() fdStepsCount.FDProvider = getString(R.string.bajaj) fdStepsCount.NiveshClientCode = "8872" // 60476 @@ -106,6 +108,9 @@ class BajajFdMainActivity : BaseActivity() { when (code) { 200 -> { stepCount = stepsCountResponse.Response.StepsCount + if (stepCount == 3) { + binding.llStep4.visibility = View.GONE + } getClientDetailsApi(stepsCountResponse.Response.StepsCount) } 650 -> "" @@ -124,7 +129,7 @@ class BajajFdMainActivity : BaseActivity() { } } is Resource.Loading -> { - ProgressUtil.hideLoading() + } is Resource.DataError -> { @@ -136,7 +141,6 @@ class BajajFdMainActivity : BaseActivity() { private fun getClientDetailsApi(stepsCount: Int) { if (Common.isNetworkAvailable(this@BajajFdMainActivity)) { - ProgressUtil.showLoading(this) val getClientDetailsRequest = getClientDetailsRequest() getClientDetailsRequest.client_code = "8872" getClientDetailsRequest.AppOrWeb = getString(R.string.app) @@ -160,6 +164,7 @@ class BajajFdMainActivity : BaseActivity() { userRequest.deviceInfo = deviceInfo getClientDetailsRequest.UserRequest = userRequest Log.e("getClientDetail ", " Request -->" + Gson().toJson(getClientDetailsRequest)) + showLoading(this@BajajFdMainActivity) viewModel.getClientDetails(getClientDetailsRequest, token, this) viewModel.getClientDetailsMutableData.observe(this) { response -> when (response) { @@ -190,7 +195,7 @@ class BajajFdMainActivity : BaseActivity() { } } is Resource.Loading -> { - ProgressUtil.hideLoading() + hideLoading() } is Resource.DataError -> { @@ -202,7 +207,7 @@ class BajajFdMainActivity : BaseActivity() { private fun setViewPager(stepsCount: Int) { // steps setting - setBackground(selectedShape(), defaultShape(), defaultShape(), defaultShape()) + setBackground(selectedShape(), defaultShape(), defaultShape(), defaultShape(), stepsCount) if (stepCount == 3) { fragments = arrayOf( @@ -222,12 +227,12 @@ class BajajFdMainActivity : BaseActivity() { } // set viewPager - sectionsPagerAdapter = SectionsPagerAdapter(supportFragmentManager, fragments, stepsCount) + sectionsPagerAdapter = SectionsPagerAdapter(supportFragmentManager, fragments) val viewPager: DisableAdapter = binding.viewPager - viewPager.setPagingEnabled(false) viewPager.adapter = sectionsPagerAdapter + viewPager.setPagingEnabled(false) if (sectionsPagerAdapter.count > 1) { - viewPager.offscreenPageLimit = sectionsPagerAdapter.count - 1 + viewPager.offscreenPageLimit = stepCount } else { viewPager.offscreenPageLimit = 1 } @@ -246,7 +251,8 @@ class BajajFdMainActivity : BaseActivity() { defaultShape(), defaultShape(), defaultShape(), - defaultShape() + defaultShape(), + stepsCount ) } 1 -> { @@ -254,7 +260,8 @@ class BajajFdMainActivity : BaseActivity() { selectedShape(), defaultShape(), defaultShape(), - defaultShape() + defaultShape(), + stepsCount ) } 2 -> { @@ -262,7 +269,8 @@ class BajajFdMainActivity : BaseActivity() { selectedShape(), selectedShape(), defaultShape(), - defaultShape() + defaultShape(), + stepsCount ) } 3 -> { @@ -270,7 +278,8 @@ class BajajFdMainActivity : BaseActivity() { selectedShape(), selectedShape(), selectedShape(), - defaultShape() + defaultShape(), + stepsCount ) } 4 -> { @@ -278,7 +287,8 @@ class BajajFdMainActivity : BaseActivity() { selectedShape(), selectedShape(), selectedShape(), - selectedShape() + selectedShape(), + stepsCount ) } } @@ -293,7 +303,6 @@ class BajajFdMainActivity : BaseActivity() { private fun checkFDCKYCApi() { if (Common.isNetworkAvailable(this@BajajFdMainActivity)) { - ProgressUtil.showLoading(this) if (getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CM_MOBILE?.isNotEmpty()!! && getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_DOB?.isNotEmpty()!! && getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_PAN?.isNotEmpty()!! && getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_CODE?.isNotEmpty()!!) { val checkFDKYCRequest = CheckFDKYCRequest() checkFDKYCRequest.Mobile = @@ -337,7 +346,7 @@ class BajajFdMainActivity : BaseActivity() { } } is Resource.Loading -> { - ProgressUtil.hideLoading() + } is Resource.DataError -> { @@ -354,12 +363,16 @@ class BajajFdMainActivity : BaseActivity() { drawable: Drawable?, drawable1: Drawable?, drawable2: Drawable?, - drawable3: Drawable? + drawable3: Drawable?, + stepsCount: Int ) { binding.stepOne.background = drawable binding.stepTwo.background = drawable1 binding.stepThree.background = drawable2 - binding.stepFour.background = drawable3 + if (stepsCount == 4) { + binding.stepFour.background = drawable3 + } + } // step 1 response @@ -370,6 +383,9 @@ class BajajFdMainActivity : BaseActivity() { // step 2 response fun stepTwoApi() { binding.viewPager.currentItem = 2 + if (stepCount == 3) { + stepFourBajajFDFragment.displayReceivedData() + } } // step 3 response @@ -425,16 +441,16 @@ class BajajFdMainActivity : BaseActivity() { fun paymentReQueryApi() { if (Common.isNetworkAvailable(this)) { - ProgressUtil.showLoading(this) val paymentReQueryRequest = PaymentReQueryRequest() paymentReQueryRequest.UniqueId = uniqueId paymentReQueryRequest.NiveshClientCode = getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_CODE + ProgressUtil.showLoading(this@BajajFdMainActivity) viewModel.getPaymentReQuery(paymentReQueryRequest, token, this) viewModel.getPaymentReQueryMutableData.observe(this) { response -> when (response) { is Resource.Success -> { - Log.e("response", "-->$response") + Log.e("paymentReQueryApi ", "response -->$response") val paymentReQueryResponse: PaymentReQueryResponse = Gson().fromJson( response.data?.toString(), @@ -442,7 +458,8 @@ class BajajFdMainActivity : BaseActivity() { ) paymentReQueryResponse.Response.StatusCode.let { code -> when (code) { - 200 -> { + 650 -> "" + else -> { if (stepCount == 4) { binding.viewPager.currentItem = 4 } else { @@ -450,13 +467,6 @@ class BajajFdMainActivity : BaseActivity() { } stepFiveBajajFDFragment.getData(paymentReQueryResponse) } - 650 -> "" - else -> { - showDialogValidation( - this@BajajFdMainActivity, - paymentReQueryResponse.Response.Errors[0].ErrorMessage - ) - } } } } @@ -466,7 +476,7 @@ class BajajFdMainActivity : BaseActivity() { } } is Resource.Loading -> { - ProgressUtil.hideLoading() + hideLoading() } is Resource.DataError -> { @@ -475,4 +485,5 @@ class BajajFdMainActivity : BaseActivity() { } } } + } \ No newline at end of file diff --git a/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepFiveBajajFDFragment.kt b/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepFiveBajajFDFragment.kt index 5f9ea63..224961c 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepFiveBajajFDFragment.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepFiveBajajFDFragment.kt @@ -1,12 +1,20 @@ package com.nivesh.production.bajajfd.ui.fragment import android.os.Bundle +import android.util.Log import android.view.LayoutInflater import android.view.View import android.view.ViewGroup +import androidx.core.content.ContextCompat import androidx.fragment.app.Fragment +import com.google.gson.Gson +import com.nivesh.production.bajajfd.R import com.nivesh.production.bajajfd.databinding.FragmentBajajfdStepFiveBinding -import com.nivesh.production.bajajfd.model.PaymentReQueryResponse +import com.nivesh.production.bajajfd.model.* +import com.nivesh.production.bajajfd.ui.activity.BajajFdMainActivity +import com.nivesh.production.bajajfd.util.Common +import com.nivesh.production.bajajfd.util.Constants +import com.nivesh.production.bajajfd.util.Resource class StepFiveBajajFDFragment : Fragment() { @@ -17,24 +25,147 @@ class StepFiveBajajFDFragment : Fragment() { inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle? ): View { + _binding = FragmentBajajfdStepFiveBinding.inflate(inflater, container, false) return binding.root } + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { + super.onViewCreated(view, savedInstanceState) + + binding.tvCongrats.text = "" + binding.tvSuccessMessage.text = "" + binding.btnViewOrder.setOnClickListener { + + } + } + fun getData(paymentReQueryResponse: PaymentReQueryResponse) { + if (paymentReQueryResponse.Response.StatusCode == 200) { + if (paymentReQueryResponse.Response.Message.isNotEmpty()) { + val arrOfStr: List = paymentReQueryResponse.Response.Message.split(" ", limit = 2) + binding.tvCongrats.text = arrOfStr[0] + binding.tvCongrats.setTextColor( + ContextCompat.getColor( + activity as BajajFdMainActivity, + R.color.green + ) + ) + binding.tvSuccessMessage.text = arrOfStr[1] + } + }else{ + if (paymentReQueryResponse.Response.Message.isNotEmpty()) { + val arrOfStr: List = paymentReQueryResponse.Response.Message.split(" ", limit = 2) + binding.tvCongrats.text = arrOfStr[0] + binding.tvCongrats.setTextColor( + ContextCompat.getColor( + activity as BajajFdMainActivity, + R.color.red + ) + ) + binding.tvSuccessMessage.text = arrOfStr[1] + } + } + finalizeFDApi() + finalizeKYCApi() + } + + private fun finalizeFDApi() { + val finalizeFDRequest = FinalizeFDRequest() + val finaliseFD = FinaliseFD() + finaliseFD.FDProvider = getString(R.string.bajaj) + finaliseFD.NiveshClientCode = (activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_CODE + finaliseFD.UniqueId = (activity as BajajFdMainActivity).uniqueId + finalizeFDRequest.FinaliseFD = finaliseFD + (activity as BajajFdMainActivity).viewModel.finaliseFD( + finalizeFDRequest, Constants.token, activity as BajajFdMainActivity + ) + (activity as BajajFdMainActivity).viewModel.getFinalizeFDMutableData.observe(viewLifecycleOwner){ response -> + when (response) { + is Resource.Success -> { + Log.e("finalizeKYC ", " response-->${response.data.toString()}") + val finalizeFDResponse: FinalizeFDResponse = + Gson().fromJson(response.data?.toString(), FinalizeFDResponse::class.java) + finalizeFDResponse.Response.StatusCode.let { code -> + when (code) { + 200 -> { + } + 650 -> "" + else -> { + Common.showDialogValidation( + activity as BajajFdMainActivity, + finalizeFDResponse.Response.Errors[0].ErrorMessage + ) + } + } + } + } + + is Resource.Error -> { + response.message?.let { message -> + Common.showDialogValidation(activity as BajajFdMainActivity, message) + } + } + is Resource.Loading -> { + + } + is Resource.DataError -> { + + } + } + } } - override fun onViewCreated(view: View, savedInstanceState: Bundle?) { - super.onViewCreated(view, savedInstanceState) + private fun finalizeKYCApi() { + val finalizeKYCRequest = FinalizeKYCRequest() + finalizeKYCRequest.FDProvider = getString(R.string.bajaj) + finalizeKYCRequest.NiveshClientCode = (activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_CODE + finalizeKYCRequest.UniqueId = (activity as BajajFdMainActivity).uniqueId + (activity as BajajFdMainActivity).viewModel.finaliseKYC( + finalizeKYCRequest, Constants.token, activity as BajajFdMainActivity + ) + (activity as BajajFdMainActivity).viewModel.getFinalizeKYCMutableData.observe(viewLifecycleOwner){ response -> + when (response) { + is Resource.Success -> { + Log.e("finalizeKYC ", " response-->${response.data.toString()}") + val finalizeFDResponse: FinalizeFDResponse = + Gson().fromJson(response.data?.toString(), FinalizeFDResponse::class.java) + finalizeFDResponse.Response.StatusCode.let { code -> + when (code) { + 200 -> { - binding.btnViewOrder.setOnClickListener { + } + 650 -> "" + else -> { + Common.showDialogValidation( + activity as BajajFdMainActivity, + finalizeFDResponse.Response.Errors[0].ErrorMessage + ) + } + } + } + } + + is Resource.Error -> { + response.message?.let { message -> + Common.showDialogValidation(activity as BajajFdMainActivity, message) + } + } + is Resource.Loading -> { + + } + is Resource.DataError -> { + } + } } } + + override fun onDestroyView() { super.onDestroyView() _binding = null 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 da2b9cc..8918585 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 @@ -17,6 +17,7 @@ import com.nivesh.production.bajajfd.ui.activity.BajajFdMainActivity import com.nivesh.production.bajajfd.util.Common import com.nivesh.production.bajajfd.util.Common.Companion.showDialogValidation import com.nivesh.production.bajajfd.util.Constants.Companion.token +import com.nivesh.production.bajajfd.util.ProgressUtil import com.nivesh.production.bajajfd.util.Resource class StepFourBajajFDFragment : Fragment() { @@ -62,43 +63,60 @@ class StepFourBajajFDFragment : Fragment() { } binding.btnNext.setOnClickListener { - if ((activity as BajajFdMainActivity).loginRole == 5) { - selectedList = "" - for (getCodes in listOfCustomer) { - if (getCodes.isSelected) { - selectedList = if (selectedList.isEmpty()) { - getCodes.Value - } else { - selectedList.plus(",").plus(getCodes.Value) - } + selectedList = "" + for (getCodes in listOfCustomer) { + if (getCodes.isSelected) { + selectedList = if (selectedList.isEmpty()) { + getCodes.Value + } else { + selectedList.plus(",").plus(getCodes.Value) } } - if (binding.checkBox.isChecked && selectedList.isNotEmpty()) { - val saveFDOtherDataRequest = SaveFDOtherDataRequest() - saveFDOtherDataRequest.FDProvider = getString(R.string.bajaj) - saveFDOtherDataRequest.UniqueId = (activity as BajajFdMainActivity).uniqueId - saveFDOtherDataRequest.Values = selectedList - saveFDOtherDataRequest.NiveshClientCode = - (activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_CODE - // bajajFDInterface.stepFourApi(saveFDOtherDataRequest, payUrl, Value) - saveFDOtherData(saveFDOtherDataRequest, payUrl, value) - } else { - showDialogValidation( - activity as BajajFdMainActivity, - resources.getString(R.string.validTermsConditions) - ) - } - } else { - // go to view order } + if (validated()) { + if ((activity as BajajFdMainActivity).loginRole == 5) { + val saveFDOtherDataRequest = SaveFDOtherDataRequest() + saveFDOtherDataRequest.FDProvider = getString(R.string.bajaj) + saveFDOtherDataRequest.UniqueId = (activity as BajajFdMainActivity).uniqueId + saveFDOtherDataRequest.Values = selectedList + saveFDOtherDataRequest.NiveshClientCode = + (activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_CODE + saveFDOtherData(saveFDOtherDataRequest, payUrl, value) + } else { + // go to view order + } + } } binding.btnBack.setOnClickListener { - (activity as BajajFdMainActivity).binding.viewPager.currentItem = 2 + if ((activity as BajajFdMainActivity).stepCount == 4) { + (activity as BajajFdMainActivity).binding.viewPager.currentItem = 2 + } else { + (activity as BajajFdMainActivity).binding.viewPager.currentItem = 1 + } + } + } + + private fun validated(): Boolean { + if (selectedList.isEmpty()) { + showDialogValidation( + activity as BajajFdMainActivity, + getString(R.string.validTermsCondition) + ) + return false + } else if (!binding.checkBox.isChecked) { + showDialogValidation( + activity as BajajFdMainActivity, + resources.getString(R.string.validTermsConditions) + ) + return false + } else { + return true } } private fun saveFDOtherData(data: SaveFDOtherDataRequest, payUrl: String, value: String) { + ProgressUtil.showLoading(activity as BajajFdMainActivity) (activity as BajajFdMainActivity).viewModel.saveFDOtherData( data, token, @@ -135,7 +153,7 @@ class StepFourBajajFDFragment : Fragment() { } } is Resource.Loading -> { - + ProgressUtil.hideLoading() } is Resource.DataError -> { @@ -155,12 +173,12 @@ class StepFourBajajFDFragment : Fragment() { getCodeRequest.Category = getString(R.string.customerCategory) getCodeRequest.Language = getString(R.string.language) getCodeRequest.InputValue = "" - (activity as BajajFdMainActivity).viewModel.paymentModeApi( + (activity as BajajFdMainActivity).viewModel.customerListApi( getCodeRequest, token, activity as BajajFdMainActivity ) - (activity as BajajFdMainActivity).viewModel.getPaymentModeMutableData.observe( + (activity as BajajFdMainActivity).viewModel.customerListMutableData.observe( viewLifecycleOwner ) { response -> when (response) { @@ -217,6 +235,7 @@ class StepFourBajajFDFragment : Fragment() { getFDDetailsRequest.NiveshClientCode = (activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_CODE getFDDetailsRequest.UniqueId = (activity as BajajFdMainActivity).uniqueId + ProgressUtil.showLoading(activity as BajajFdMainActivity) (activity as BajajFdMainActivity).viewModel.getFDDetails( getFDDetailsRequest, token, @@ -266,7 +285,7 @@ class StepFourBajajFDFragment : Fragment() { } } is Resource.Loading -> { - + ProgressUtil.hideLoading() } 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 b54bb01..384c5e4 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 @@ -2,12 +2,14 @@ package com.nivesh.production.bajajfd.ui.fragment import android.Manifest import android.annotation.SuppressLint +import android.app.Activity import android.content.DialogInterface import android.content.pm.PackageManager import android.database.Cursor import android.graphics.Bitmap import android.graphics.BitmapFactory import android.net.Uri +import android.os.Build import android.os.Bundle import android.provider.OpenableColumns import android.util.Base64 @@ -19,6 +21,7 @@ import android.widget.* import androidx.activity.result.ActivityResultLauncher import androidx.activity.result.contract.ActivityResultContracts import androidx.appcompat.app.AlertDialog +import androidx.core.app.ActivityCompat import androidx.core.content.ContextCompat import androidx.core.content.FileProvider import androidx.fragment.app.Fragment @@ -31,10 +34,12 @@ import com.nivesh.production.bajajfd.model.* import com.nivesh.production.bajajfd.ui.activity.BajajFdMainActivity import com.nivesh.production.bajajfd.util.Common import com.nivesh.production.bajajfd.util.Common.Companion.getFileExtension +import com.nivesh.production.bajajfd.util.Common.Companion.showDialogWithTwoButtons import com.nivesh.production.bajajfd.util.Constants import com.nivesh.production.bajajfd.util.ImageUtil import com.nivesh.production.bajajfd.util.Resource import java.io.* +import java.util.* class StepThreeBajajFDFragment : Fragment() { @@ -48,7 +53,6 @@ class StepThreeBajajFDFragment : Fragment() { private val mapImage: HashMap = HashMap() private lateinit var listOfDocType: List - private var check: Array? = null private var panString: String = "" private var photoString: String = "" @@ -65,14 +69,44 @@ class StepThreeBajajFDFragment : Fragment() { private val secondDocUpload: Int = 4 private var actionType: Int = -1 + private val permissions = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) { + arrayOf( + Manifest.permission.READ_EXTERNAL_STORAGE, + Manifest.permission.WRITE_EXTERNAL_STORAGE, + Manifest.permission.READ_MEDIA_IMAGES + ) + } else { + arrayOf( + Manifest.permission.READ_EXTERNAL_STORAGE, + Manifest.permission.WRITE_EXTERNAL_STORAGE + ) + } - private val requestPermission = registerForActivityResult( + private val requestCameraPermission = registerForActivityResult( ActivityResultContracts.RequestPermission() ) { isGranted: Boolean -> if (isGranted) { - Log.e("permission:", "Granted") + takeImage() } else { - Log.e("permission:", "Denied") + showDialogWithTwoButtons( + (activity as BajajFdMainActivity), getString(R.string.cameraPermission), getString( + R.string.permissionRequired + ) + ) + } + } + + private val requestGalleryPermission = registerForActivityResult( + ActivityResultContracts.RequestMultiplePermissions() + ) { permission -> + if (!permission.containsValue(false)) { + selectImageIntent?.launch("image/*") + } else { + showDialogWithTwoButtons( + (activity as BajajFdMainActivity), getString(R.string.galleryPermission), getString( + R.string.permissionsRequired + ) + ) } } @@ -90,12 +124,6 @@ class StepThreeBajajFDFragment : Fragment() { override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) - check = arrayOf( - getString(R.string.takePhoto), - getString(R.string.chooseFromGallery), - getString(R.string.cancel) - ) - selectImageIntent = registerForActivityResult(ActivityResultContracts.GetContent()) { uri: Uri? -> if (uri != null) { @@ -208,40 +236,80 @@ class StepThreeBajajFDFragment : Fragment() { ) builder.setTitle(getString(R.string.addPhoto)) builder.setItems( - check - ) { dialog: DialogInterface, item: Int -> - if (check!![item] == getString(R.string.takePhoto)) { - val permission = ContextCompat.checkSelfPermission( - activity as BajajFdMainActivity, - Manifest.permission.CAMERA - ) - if (permission == PackageManager.PERMISSION_GRANTED) { - takeImage() - } else { - requestPermission.launch( - Manifest.permission.CAMERA - ) + arrayOf( + getString(R.string.takePhoto), + getString(R.string.chooseFromGallery), + getString(R.string.cancel) + ) + ) { dialog: DialogInterface, pos -> + when (pos) { + 0 -> { + if (hasPermissions( + activity as BajajFdMainActivity, + Manifest.permission.CAMERA + ) + ) { + takeImage() + } else { + onClickRequestPermission() + } + dialog.dismiss() } - dialog.dismiss() - } else if (check!![item] == getString(R.string.chooseFromGallery)) { - val permission = ContextCompat.checkSelfPermission( - activity as BajajFdMainActivity, - Manifest.permission.READ_EXTERNAL_STORAGE - ) - if (permission == PackageManager.PERMISSION_GRANTED) { - selectImageIntent?.launch("image/*") - } else { - requestPermission.launch( - Manifest.permission.READ_EXTERNAL_STORAGE - ) + 1 -> { + if (hasPermissions(activity as BajajFdMainActivity, *permissions)) { + selectImageIntent?.launch("image/*") + } else { + requestGalleryPermission.launch(permissions) + } + dialog.dismiss() + } + else -> { + dialog.dismiss() } - } else if (check!![item] == getString(R.string.cancel)) { - dialog.dismiss() } } builder.show() } + private fun hasPermissions(activity: Activity, vararg permissions: String?): Boolean { + for (permission in permissions) { + if (ActivityCompat.checkSelfPermission( + activity, + permission!! + ) != PackageManager.PERMISSION_GRANTED + ) { + return false + } + } + return true + } + + private fun onClickRequestPermission() { + when { + ContextCompat.checkSelfPermission( + activity as BajajFdMainActivity, + Manifest.permission.CAMERA + ) == PackageManager.PERMISSION_GRANTED -> { + + } + + ActivityCompat.shouldShowRequestPermissionRationale( + activity as BajajFdMainActivity, + Manifest.permission.CAMERA + ) -> { + requestCameraPermission.launch( + Manifest.permission.CAMERA + ) + } + + else -> { + requestCameraPermission.launch( + Manifest.permission.CAMERA + ) + } + } + } + private fun setOtherUploadLayout(itemName: String?) { binding.tvAadhaarFront.text = itemName.plus(" Front *") if (binding.tvAadhaarBack.visibility == View.VISIBLE) binding.tvAadhaarBack.visibility = @@ -524,11 +592,11 @@ class StepThreeBajajFDFragment : Fragment() { ) binding.spDocType.setAdapter(adapter) binding.spDocType.setText( - adapter.getItem(0)?.Value, + adapter.getItem(0)?.Label, false ) - setOtherUploadLayout(adapter.getItem(0)?.Value) - docValue = adapter.getItem(0)?.Value.toString() + setOtherUploadLayout(adapter.getItem(0)?.Label) + docValue = adapter.getItem(0)?.Label.toString() } } 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 fd2dfd1..f552c44 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 @@ -42,6 +42,7 @@ import com.nivesh.production.bajajfd.util.Common.Companion.isValidPan import com.nivesh.production.bajajfd.util.Common.Companion.removeError import com.nivesh.production.bajajfd.util.Common.Companion.showDialogValidation import com.nivesh.production.bajajfd.util.Constants.Companion.token +import com.nivesh.production.bajajfd.util.ProgressUtil import com.nivesh.production.bajajfd.util.Resource import java.util.* @@ -713,6 +714,7 @@ class StepTwoBajajFDFragment : Fragment() { } private fun createFDApi(data: CreateFDRequest) { + ProgressUtil.showLoading(activity as BajajFdMainActivity) (activity as BajajFdMainActivity).viewModel.createFDApi(data, token, activity as BajajFdMainActivity) (activity as BajajFdMainActivity).viewModel.getFDResponseMutableData.observe(viewLifecycleOwner) { response -> when (response) { @@ -747,7 +749,7 @@ class StepTwoBajajFDFragment : Fragment() { } } is Resource.Loading -> { - + ProgressUtil.hideLoading() } is Resource.DataError -> { @@ -872,6 +874,7 @@ class StepTwoBajajFDFragment : Fragment() { bankValidationApiRequest.PhoneNo = phoneNumber bankValidationApiRequest.RoleId = loginRole bankValidationApiRequest.BankNo = 1 + ProgressUtil.showLoading(activity as BajajFdMainActivity) (activity as BajajFdMainActivity).viewModel.bankValidationApi( bankValidationApiRequest, token, @@ -939,7 +942,7 @@ class StepTwoBajajFDFragment : Fragment() { } } is Resource.Loading -> { - + ProgressUtil.hideLoading() } is Resource.DataError -> { @@ -1706,6 +1709,7 @@ class StepTwoBajajFDFragment : Fragment() { } private fun apiForEligibleBankList() { + ProgressUtil.showLoading(activity as BajajFdMainActivity) (activity as BajajFdMainActivity).viewModel.bankListApi(token,getString(R.string.language), activity as BajajFdMainActivity) (activity as BajajFdMainActivity).viewModel.getFDBankListMutableData.observe(viewLifecycleOwner) { response -> when (response) { @@ -1740,7 +1744,7 @@ class StepTwoBajajFDFragment : Fragment() { } } is Resource.Loading -> { - + ProgressUtil.hideLoading() } is Resource.DataError -> { @@ -1751,7 +1755,6 @@ class StepTwoBajajFDFragment : Fragment() { private fun refreshToken() { - } private fun dialogForBankList(bankList: List) { diff --git a/app/src/main/java/com/nivesh/production/bajajfd/ui/providerfactory/FDModelProviderFactory.kt b/app/src/main/java/com/nivesh/production/bajajfd/ui/providerfactory/FDModelProviderFactory.kt index 40c35fc..3f68938 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/ui/providerfactory/FDModelProviderFactory.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/ui/providerfactory/FDModelProviderFactory.kt @@ -5,7 +5,8 @@ import androidx.lifecycle.ViewModelProvider import com.nivesh.production.bajajfd.repositories.MainRepository import com.nivesh.production.bajajfd.viewModel.BajajFDViewModel -class FDModelProviderFactory (private val mainRepository: MainRepository) : ViewModelProvider.Factory { +class FDModelProviderFactory(private val mainRepository: MainRepository) : + ViewModelProvider.Factory { override fun create(modelClass: Class): T { return BajajFDViewModel(mainRepository) as T 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 b6e8e11..09aef07 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 @@ -1,22 +1,31 @@ package com.nivesh.production.bajajfd.util +import android.Manifest import android.app.Activity import android.app.AlertDialog import android.content.Context +import android.content.Intent +import android.content.pm.PackageManager import android.graphics.Color import android.graphics.drawable.GradientDrawable import android.net.ConnectivityManager import android.net.NetworkCapabilities +import android.net.Uri import android.os.Build +import android.provider.Settings import android.text.format.DateFormat import android.util.Log import android.util.Patterns -import androidx.coordinatorlayout.widget.CoordinatorLayout +import androidx.activity.result.contract.ActivityResultContracts +import androidx.core.app.ActivityCompat +import androidx.core.content.ContextCompat +import androidx.core.content.ContextCompat.startActivity 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 kotlinx.coroutines.CoroutineExceptionHandler import org.json.JSONObject import retrofit2.HttpException @@ -120,11 +129,18 @@ class Common { builder.show() } - fun showDialogWithTwoButtons(activity: Activity?, message: CharSequence?) { + fun showDialogWithTwoButtons(activity: Activity?, message: CharSequence?, title: String) { val builder = AlertDialog.Builder(activity) + builder.setTitle(title) builder.setMessage(message) if (activity != null) { builder.setPositiveButton(activity.getString(R.string.Ok)) { dialogInterface, _ -> + val intent = Intent( + Settings.ACTION_APPLICATION_DETAILS_SETTINGS, + Uri.fromParts("package", (activity as BajajFdMainActivity).packageName, null) + ) + intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK) + activity.startActivity(intent) dialogInterface.dismiss() } builder.setNegativeButton(activity.getString(R.string.cancel)) { dialogInterface, _ -> @@ -190,21 +206,11 @@ class Common { } fun handleResponse(response: 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)) -// is UnknownHostException -> Resource.Error("Response : " + t.message.plus(" Cause: " + t.cause)) -// else -> Resource.Error(t.localizedMessage?.toString() ?: "") -// } -// } return Resource.Error(response.message()) } @@ -243,7 +249,7 @@ class Common { } fun isMinor(date: String): Boolean { - val simpleDateFormat = SimpleDateFormat("yyyy-MM-dd", Locale.getDefault()) + val simpleDateFormat = SimpleDateFormat("yyyy-MM-dd", Locale.US) val dt1: Date = simpleDateFormat.parse(date) as Date val year: Int = DateFormat.format("yyyy", dt1).toString().toInt() val month: Int = DateFormat.format("mm", dt1).toString().toInt() @@ -272,5 +278,8 @@ class Common { "" } } + + + } } \ No newline at end of file diff --git a/app/src/main/java/com/nivesh/production/bajajfd/util/ProgressUtil.kt b/app/src/main/java/com/nivesh/production/bajajfd/util/ProgressUtil.kt index a810f1e..c6db944 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/util/ProgressUtil.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/util/ProgressUtil.kt @@ -18,7 +18,7 @@ object ProgressUtil{ fun showLoading(ctx: Context){ - // instantiating the lateint objects + // instantiating the lateInit objects dialogBuilder= AlertDialog.Builder(ctx) pDialog= ProgressBar(ctx) @@ -28,11 +28,11 @@ object ProgressUtil{ alertDialog=dialogBuilder.create() // magic of transparent background goes here - alertDialog.requestWindowFeature(Window.FEATURE_NO_TITLE); + alertDialog.requestWindowFeature(Window.FEATURE_NO_TITLE) // setting the alertDialog's BackgroundDrawable as the color resource of any color with 1% opacity alertDialog.window?.setBackgroundDrawable(ColorDrawable(Color.parseColor("#00141414"))) - // finally displaying the Alertdialog containging the ProgressBar + // finally displaying the Alertdialog containing the ProgressBar alertDialog.show() } 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 33f050f..c323cb7 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 @@ -335,6 +335,17 @@ open class BajajFDViewModel(private val mainRepository: MainRepository) : ViewMo } } + val customerListMutableData: MutableLiveData> = MutableLiveData() + fun customerListApi(getCodeRequest: GetCodeRequest, token: String,activity : Activity) = viewModelScope.launch( + handleError(activity) + ) { + if (Common.isNetworkAvailable(activity)) { + customerListMutableData.postValue(Resource.Loading()) + val response = mainRepository.customerListCheck(getCodeRequest, token) + customerListMutableData.postValue(handleResponse(response)) + } + } + fun updateFDPaymentStatus(getRatesRequest: GetRatesRequest, token: String, activity: Activity ) = @@ -346,21 +357,23 @@ open class BajajFDViewModel(private val mainRepository: MainRepository) : ViewMo } } - fun finaliseFD(getRatesRequest: GetRatesRequest, token: String, + val getFinalizeFDMutableData: MutableLiveData> = MutableLiveData() + fun finaliseFD(finalizeFDRequest: FinalizeFDRequest, token: String, activity: Activity) = viewModelScope.launch(handleError(activity)) { if (Common.isNetworkAvailable(activity)) { - getRatesMutableData.postValue(Resource.Loading()) - val response = mainRepository.finaliseFDResponse(getRatesRequest, token) - getRatesMutableData.postValue(handleResponse(response)) + getFinalizeFDMutableData.postValue(Resource.Loading()) + val response = mainRepository.finaliseFDResponse(finalizeFDRequest, token) + getFinalizeFDMutableData.postValue(handleResponse(response)) } } - fun finaliseKYC(getRatesRequest: GetRatesRequest, token: String, + val getFinalizeKYCMutableData: MutableLiveData> = MutableLiveData() + fun finaliseKYC(getRatesRequest: FinalizeKYCRequest, token: String, activity: Activity) = viewModelScope.launch(handleError(activity)) { if (Common.isNetworkAvailable(activity)) { - getRatesMutableData.postValue(Resource.Loading()) + getFinalizeKYCMutableData.postValue(Resource.Loading()) val response = mainRepository.finaliseKYCResponse(getRatesRequest, token) - getRatesMutableData.postValue(handleResponse(response)) + getFinalizeKYCMutableData.postValue(handleResponse(response)) } } diff --git a/app/src/main/res/layout/activity_bajaj_fd.xml b/app/src/main/res/layout/activity_bajaj_fd.xml index fbfbeaa..c890513 100644 --- a/app/src/main/res/layout/activity_bajaj_fd.xml +++ b/app/src/main/res/layout/activity_bajaj_fd.xml @@ -12,33 +12,33 @@ android:background="@color/white"> + android:layout_height="wrap_content" + android:background="@color/red" + android:orientation="horizontal"> + android:gravity="center" + android:padding="@dimen/margin_10" + android:src="@drawable/svg_back" /> + android:textAppearance="@style/TextAppearance.Widget.AppCompat.Toolbar.Title" + android:textColor="@color/white" + android:textSize="@dimen/text_size_14" /> @@ -47,9 +47,9 @@ android:id="@+id/llSteps" android:layout_width="match_parent" android:layout_height="wrap_content" + android:background="@color/greyColor4" android:gravity="center" android:orientation="horizontal" - android:background="@color/greyColor4" android:paddingTop="@dimen/margin_10" android:paddingBottom="@dimen/margin_10"> @@ -112,36 +112,43 @@ android:textColor="@color/black" android:textSize="@dimen/text_size_12" /> - - - - - + android:orientation="horizontal"> + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_bajajfd_step_five.xml b/app/src/main/res/layout/fragment_bajajfd_step_five.xml index d507a95..9acdd82 100644 --- a/app/src/main/res/layout/fragment_bajajfd_step_five.xml +++ b/app/src/main/res/layout/fragment_bajajfd_step_five.xml @@ -17,7 +17,6 @@ android:background="@color/NiveshColorAppBg" android:fillViewport="true" android:orientation="vertical" - app:layout_constraintBottom_toTopOf="@+id/btnNext" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent"> @@ -86,31 +85,30 @@ style="@style/semiBoldStyle" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:layout_marginTop="12dp" - android:text="@string/congratulations" + android:layout_marginTop="@dimen/margin_12" android:textColor="@color/black" android:textSize="@dimen/text_size_17" + android:text="" app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintHorizontal_bias="0.437" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/values-hi-rIN/strings.xml b/app/src/main/res/values-hi-rIN/strings.xml index 2ab4061..02fa1f2 100644 --- a/app/src/main/res/values-hi-rIN/strings.xml +++ b/app/src/main/res/values-hi-rIN/strings.xml @@ -1,5 +1,5 @@ - NiveshSDK + NiveshFDSDK Bajaj App nivesh @@ -225,11 +225,9 @@ View Order - Congratulations Your transaction is successful. You will receive fixed deposit certificate\nwithin 3 working days on email Download Invoice - Sorry! Your transaction is unsuccessful. Sorry for the inconvenience please try again later Retry @@ -248,6 +246,11 @@ Add New Account OK + You Need to Give Permission of Camera for uploading Image + You Need to Give Permission of Gallery for uploading Image + Permission Required ! + Permission\'s Required ! + \ No newline at end of file diff --git a/app/src/main/res/values-night/themes.xml b/app/src/main/res/values-night/themes.xml index e5a7f0c..103d5f1 100644 --- a/app/src/main/res/values-night/themes.xml +++ b/app/src/main/res/values-night/themes.xml @@ -1,6 +1,6 @@ -