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 @@
-