diff --git a/app/build.gradle b/app/build.gradle
index daf16a0..13e7f3e 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -73,4 +73,6 @@ dependencies {
// Navigation Components
implementation "androidx.navigation:navigation-fragment-ktx:2.5.3"
implementation "androidx.navigation:navigation-ui-ktx:2.5.3"
+
+ implementation 'com.squareup.picasso:picasso:2.71828'
}
\ No newline at end of file
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 2008589..4438f52 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -8,6 +8,7 @@
+
+ @GET("Partner/GetPartnerDetails")
+ suspend fun getPartnerDetail(
+ @Query("PartnerCode") code: String,
+ @Header("AccessKey") value: String
+ ): Response
+
@POST("Partner/ValidatePartner")
suspend fun postPartnerValidate(@Body validatePartnerRequest: ValidatePartnerRequest): Response
@@ -34,15 +41,20 @@ interface ApiInterface {
suspend fun getPANDetail(@Query("PAN") value: String): Response
@GET("User/GetAllDocumentsType")
- suspend fun getDocumentType(@Query("Role") value: String, @Query("Type") type: String): Response
+ suspend fun getDocumentType(
+ @Query("Role") value: String,
+ @Query("Type") type: String
+ ): Response
@Multipart
@POST("Partner/DocumentsUpload")
suspend fun getUploadDocument(
- @Part multiPartBody: List,
+// @Part multiPartBody: List,
+ @Part multiPartBody: MultipartBody.Part,
@Part("PartnerCode") partnerCode: Int,
@Part("PartnerRole") partnerRole: Int,
- @Part("DocumentId") documentId: Int
+ @Part("DocumentId") documentId: Int,
+ @Part("FileId") fileId: Int
): Response
@POST("Partner/SaveEAgreement")
@@ -50,4 +62,7 @@ interface ApiInterface {
@GET("User/GetAllProduct")
suspend fun getAllProduct(): Response
+
+ @GET("User/GetAreaDetailByPincode")
+ suspend fun getAreaDetailByPinCode(@Query("Pincode") value: String): Response
}
\ No newline at end of file
diff --git a/app/src/main/java/com/nivesh/production/partnerOnBoarding/model/Data.kt b/app/src/main/java/com/nivesh/production/partnerOnBoarding/model/Data.kt
index 7ad7875..dddabf6 100644
--- a/app/src/main/java/com/nivesh/production/partnerOnBoarding/model/Data.kt
+++ b/app/src/main/java/com/nivesh/production/partnerOnBoarding/model/Data.kt
@@ -1,18 +1,18 @@
package com.nivesh.production.partnerOnBoarding.model
data class Data(
- val Address1: String,
- val Address2: String,
- val Address3: String,
- val Category: String,
- val City: String,
- val DOB: String,
- val FirstName: String,
- val FullName: String,
- val Gender: String,
- val LastName: String,
- val MiddleName: Any,
- val Pincode: String,
- val State: String,
- val Street: String
+ var Address1: String = "",
+ var Address2: String = "",
+ var Address3: String = "",
+ var Category: String = "",
+ var City: String = "",
+ var DOB: String = "",
+ var FirstName: String = "",
+ var FullName: String = "",
+ var Gender: String = "",
+ var LastName: String = "",
+ var MiddleName: Any = "",
+ var Pincode: String = "",
+ var State: String = "",
+ var Street: String = ""
)
\ No newline at end of file
diff --git a/app/src/main/java/com/nivesh/production/partnerOnBoarding/model/response/Filedetail.kt b/app/src/main/java/com/nivesh/production/partnerOnBoarding/model/response/Filedetail.kt
new file mode 100644
index 0000000..de6175f
--- /dev/null
+++ b/app/src/main/java/com/nivesh/production/partnerOnBoarding/model/response/Filedetail.kt
@@ -0,0 +1,8 @@
+package com.nivesh.production.partnerOnBoarding.model.response
+
+data class Filedetail(
+ val DocumentId: Int,
+ val FileId: Int,
+ val FilePath: String,
+ val FileSide: String
+) : java.io.Serializable
\ No newline at end of file
diff --git a/app/src/main/java/com/nivesh/production/partnerOnBoarding/model/response/GetAreaDetailByPinResponse.kt b/app/src/main/java/com/nivesh/production/partnerOnBoarding/model/response/GetAreaDetailByPinResponse.kt
new file mode 100644
index 0000000..0e8f889
--- /dev/null
+++ b/app/src/main/java/com/nivesh/production/partnerOnBoarding/model/response/GetAreaDetailByPinResponse.kt
@@ -0,0 +1,7 @@
+package com.nivesh.production.partnerOnBoarding.model.response
+
+data class GetAreaDetailByPinResponse(
+ val Message: String,
+ val Result: ResultXXXXX,
+ val Status: String
+)
\ No newline at end of file
diff --git a/app/src/main/java/com/nivesh/production/partnerOnBoarding/model/response/PartnerDetailResponse.kt b/app/src/main/java/com/nivesh/production/partnerOnBoarding/model/response/PartnerDetailResponse.kt
new file mode 100644
index 0000000..ca8a1ae
--- /dev/null
+++ b/app/src/main/java/com/nivesh/production/partnerOnBoarding/model/response/PartnerDetailResponse.kt
@@ -0,0 +1,9 @@
+package com.nivesh.production.partnerOnBoarding.model.response
+
+import java.io.Serializable
+
+data class PartnerDetailResponse(
+ val Message: String,
+ val Result: ResultXXXX,
+ val Status: String
+) : Serializable
\ No newline at end of file
diff --git a/app/src/main/java/com/nivesh/production/partnerOnBoarding/model/response/ResultXXXX.kt b/app/src/main/java/com/nivesh/production/partnerOnBoarding/model/response/ResultXXXX.kt
new file mode 100644
index 0000000..9eabca3
--- /dev/null
+++ b/app/src/main/java/com/nivesh/production/partnerOnBoarding/model/response/ResultXXXX.kt
@@ -0,0 +1,23 @@
+package com.nivesh.production.partnerOnBoarding.model.response
+
+import java.io.Serializable
+
+data class ResultXXXX(
+ val ARNNumber: String,
+ val Address1: String,
+ val Address2: String,
+ val City: String,
+ val DateOfExpiryAMFICertificate: String,
+ val DateOfIncorporation: String,
+ val DateOfPassingAMFICertificate: String,
+ val EUINNumber: String,
+ val Email: String,
+ val Mobile: String,
+ val Name: String,
+ val PAN: String,
+ val PartnerType: String,
+ val Pin: String,
+ val State: String,
+ val Step: Int,
+ val filedetails: List = emptyList()
+) : Serializable
\ No newline at end of file
diff --git a/app/src/main/java/com/nivesh/production/partnerOnBoarding/model/response/ResultXXXXX.kt b/app/src/main/java/com/nivesh/production/partnerOnBoarding/model/response/ResultXXXXX.kt
new file mode 100644
index 0000000..f84f87f
--- /dev/null
+++ b/app/src/main/java/com/nivesh/production/partnerOnBoarding/model/response/ResultXXXXX.kt
@@ -0,0 +1,8 @@
+package com.nivesh.production.partnerOnBoarding.model.response
+
+data class ResultXXXXX(
+ val CityId: String,
+ val CityName: String,
+ val StateId: String,
+ val StateName: String
+)
\ No newline at end of file
diff --git a/app/src/main/java/com/nivesh/production/partnerOnBoarding/repositories/MainRepository.kt b/app/src/main/java/com/nivesh/production/partnerOnBoarding/repositories/MainRepository.kt
index cd808f9..f7d8886 100644
--- a/app/src/main/java/com/nivesh/production/partnerOnBoarding/repositories/MainRepository.kt
+++ b/app/src/main/java/com/nivesh/production/partnerOnBoarding/repositories/MainRepository.kt
@@ -12,6 +12,9 @@ class MainRepository constructor(private val apiInterface: ApiInterface) {
suspend fun getPartnerCreationResponse(requestBody: PartnerRequest, token: String) =
apiInterface.postPartnerCreation(requestBody)
+ suspend fun getPartnerDetailResponse(value: String, token: String) =
+ apiInterface.getPartnerDetail(value,token)
+
suspend fun getValidatePartnerResponse(validatePartnerRequest: ValidatePartnerRequest) =
apiInterface.postPartnerValidate(validatePartnerRequest)
@@ -33,12 +36,15 @@ class MainRepository constructor(private val apiInterface: ApiInterface) {
suspend fun getDocumentTypeResponse(value: String,type: String) =
apiInterface.getDocumentType(value,type)
- suspend fun getDocumentUploadResponse(multipartBody: List,pc: Int,pr: Int,di: Int) =
- apiInterface.getUploadDocument(multipartBody,pc,pr,di)
+ suspend fun getDocumentUploadResponse(multipartBody: MultipartBody.Part,pc: Int,pr: Int,di: Int,fileId: Int) =
+ apiInterface.getUploadDocument(multipartBody,pc,pr,di,fileId)
suspend fun getSaveEAgreement(requestBody: RequestBody, token: String) =
apiInterface.postSaveEAgreement(requestBody)
suspend fun getAllProduct() =
apiInterface.getAllProduct()
+
+ suspend fun getAreaDetailByPinCode(value: String) =
+ apiInterface.getAreaDetailByPinCode(value)
}
\ No newline at end of file
diff --git a/app/src/main/java/com/nivesh/production/partnerOnBoarding/ui/activities/RegisterActivity.kt b/app/src/main/java/com/nivesh/production/partnerOnBoarding/ui/activities/RegisterActivity.kt
index fe09d21..7058504 100644
--- a/app/src/main/java/com/nivesh/production/partnerOnBoarding/ui/activities/RegisterActivity.kt
+++ b/app/src/main/java/com/nivesh/production/partnerOnBoarding/ui/activities/RegisterActivity.kt
@@ -34,11 +34,11 @@ class RegisterActivity : BaseActivity() {
}
binding.btnDistributor.setOnClickListener {
- commonMethod(4, "advisory")
+ commonMethod(4, "3")//advisory
}
binding.btnReferrer.setOnClickListener {
- commonMethod(3, "Associate")
+ commonMethod(3, "4")//associate
}
binding.imgInfo.setOnClickListener {
diff --git a/app/src/main/java/com/nivesh/production/partnerOnBoarding/ui/fragments/AlmostThereFragment.kt b/app/src/main/java/com/nivesh/production/partnerOnBoarding/ui/fragments/AlmostThereFragment.kt
index 990d31a..35aea22 100644
--- a/app/src/main/java/com/nivesh/production/partnerOnBoarding/ui/fragments/AlmostThereFragment.kt
+++ b/app/src/main/java/com/nivesh/production/partnerOnBoarding/ui/fragments/AlmostThereFragment.kt
@@ -1,5 +1,7 @@
package com.nivesh.production.partnerOnBoarding.ui.fragments
+import android.annotation.SuppressLint
+import android.app.Dialog
import android.os.Build
import android.os.Bundle
import android.text.Editable
@@ -8,6 +10,10 @@ import android.util.Log
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
+import android.view.WindowManager
+import android.webkit.WebView
+import android.webkit.WebViewClient
+import android.widget.TextView
import android.widget.Toast
import androidx.fragment.app.Fragment
import androidx.lifecycle.ViewModelProvider
@@ -18,6 +24,7 @@ import com.nivesh.production.partnerOnBoarding.databinding.FragmentAlmostThereBi
import com.nivesh.production.partnerOnBoarding.db.PreferenceManager
import com.nivesh.production.partnerOnBoarding.model.DataX
import com.nivesh.production.partnerOnBoarding.model.request.PartnerRequest
+import com.nivesh.production.partnerOnBoarding.model.response.GetAreaDetailByPinResponse
import com.nivesh.production.partnerOnBoarding.model.response.PANResponse
import com.nivesh.production.partnerOnBoarding.model.response.PartnerResponse
import com.nivesh.production.partnerOnBoarding.providerfactory.OnBoardingModelProviderFactory
@@ -27,6 +34,9 @@ import com.nivesh.production.partnerOnBoarding.ui.activities.SignUpActivity
import com.nivesh.production.partnerOnBoarding.util.Common
import com.nivesh.production.partnerOnBoarding.util.Common.Companion.isValidPinCode
import com.nivesh.production.partnerOnBoarding.util.Common.Companion.showDialogValidation
+import com.nivesh.production.partnerOnBoarding.util.Constants.Companion.privacyPolicyLink
+import com.nivesh.production.partnerOnBoarding.util.Constants.Companion.tcLink
+import com.nivesh.production.partnerOnBoarding.util.ProgressUtil
import com.nivesh.production.partnerOnBoarding.viewModels.OnBoardingViewModel
class AlmostThereFragment : BaseFragment() {
@@ -179,11 +189,13 @@ class AlmostThereFragment : BaseFragment() {
}
binding.tvTermsAndCondition.setOnClickListener {
-
+ dialogTCPrivacyPolicy(tcLink.plus("nivesh.html"), getString(R.string.termsAndCondition))
}
- binding.tvPrivacyPolicy.setOnClickListener {
+ binding.tvPrivacyPolicy.setOnClickListener {
+ dialogTCPrivacyPolicy(privacyPolicyLink.plus("nivesh.html"), getString(R.string.privacy_policy))
}
+
binding.tvAgreement.setOnClickListener {
}
@@ -204,7 +216,7 @@ class AlmostThereFragment : BaseFragment() {
partnerRequest.Mobile = arguments?.getString("mobile")!!
partnerRequest.OtherProductName = ""
partnerRequest.PartnerCode = PreferenceManager((activity as SignUpActivity)).getPartnerCode()
- partnerRequest.PartnerType = "advisory"
+ partnerRequest.PartnerType = getString(R.string.advisory)
partnerRequest.DateOfIncorporation = Common.getDateFromTimeMills(System.currentTimeMillis())
Log.e("check_partner", partnerRequest.toString())
apiPartnerCreation(partnerRequest)
@@ -244,6 +256,71 @@ class AlmostThereFragment : BaseFragment() {
showDialogValidation((activity as SignUpActivity),res.Message)
}
}
+
+ if(panResponse != null){
+ pinAPIForCityState(panResponse.Result.data.Pincode)
+ }
+
+ (activity as SignUpActivity).viewModelOne.getAreaDetailByPinMutableData.observe(
+ viewLifecycleOwner
+ ) { response ->
+ val res: GetAreaDetailByPinResponse =
+ Gson().fromJson(
+ response?.data.toString(),
+ GetAreaDetailByPinResponse::class.java
+ )
+
+ binding.spCity.setText(res.Result.CityName)
+ binding.spState.setText(res.Result.StateName)
+ }
+ }
+
+ private fun pinAPIForCityState(pinCode: String) {
+ try {
+ (activity as SignUpActivity).viewModelOne.getAreaDetailByPin(
+ pinCode,
+ (activity as SignUpActivity)
+ )
+ } catch (e: Exception) {
+ ProgressUtil.hideLoading()
+ Log.e("checkPANError", e.message.toString())
+ }
+ }
+
+ @SuppressLint("SetJavaScriptEnabled")
+ private fun dialogTCPrivacyPolicy(url: String, type: String) {
+ var dialog = Dialog(activity as SignUpActivity)
+ dialog.setContentView(R.layout.dialog_t_c)
+
+ val webViewNeedHelp = dialog.findViewById(R.id.webViewNeedHelp)
+ val txtCancel = dialog.findViewById(R.id.txtCancel)
+ val btnOk = dialog.findViewById(R.id.btnOk)
+
+ val wvTitleTxt: TextView = dialog.findViewById(R.id.wvTitleTxt)
+ wvTitleTxt.text = type
+
+ txtCancel.setOnClickListener{dialog.dismiss() }
+ btnOk.setOnClickListener{dialog.dismiss() }
+
+ webViewNeedHelp.webViewClient = MyWebViewClient()
+ webViewNeedHelp.loadUrl(url)
+ webViewNeedHelp.settings.javaScriptEnabled = true
+ webViewNeedHelp.settings.domStorageEnabled = true
+
+ dialog.show()
+ val lp = WindowManager.LayoutParams()
+ lp.copyFrom(dialog.window!!.attributes)
+ lp.width = WindowManager.LayoutParams.MATCH_PARENT
+ lp.height = WindowManager.LayoutParams.MATCH_PARENT
+ dialog.window!!.attributes = lp
+
+ }
+
+ class MyWebViewClient : WebViewClient() {
+ override fun shouldOverrideUrlLoading(view: WebView, url: String): Boolean {
+ return super.shouldOverrideUrlLoading(view, url)
+ }
+ override fun onPageFinished(view: WebView, url: String) {}
}
private fun apiPartnerCreation(partnerRequest: PartnerRequest) {
@@ -320,5 +397,4 @@ class AlmostThereFragment : BaseFragment() {
return false
} else return binding.cbCheck.isChecked
}
-
}
\ No newline at end of file
diff --git a/app/src/main/java/com/nivesh/production/partnerOnBoarding/ui/fragments/GetStartedFragment.kt b/app/src/main/java/com/nivesh/production/partnerOnBoarding/ui/fragments/GetStartedFragment.kt
index b9d8cfa..6d8fab9 100644
--- a/app/src/main/java/com/nivesh/production/partnerOnBoarding/ui/fragments/GetStartedFragment.kt
+++ b/app/src/main/java/com/nivesh/production/partnerOnBoarding/ui/fragments/GetStartedFragment.kt
@@ -5,7 +5,6 @@ package com.nivesh.production.partnerOnBoarding.ui.fragments
import android.Manifest
import android.annotation.SuppressLint
import android.app.Activity
-import android.app.Dialog
import android.content.DialogInterface
import android.content.pm.PackageManager
import android.database.Cursor
@@ -33,12 +32,14 @@ import androidx.appcompat.app.AlertDialog
import androidx.core.app.ActivityCompat
import androidx.core.content.ContextCompat
import androidx.core.content.FileProvider
+import androidx.core.view.isVisible
import androidx.lifecycle.ViewModelProvider
import androidx.lifecycle.lifecycleScope
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.Gson
+import com.google.gson.GsonBuilder
import com.nivesh.production.partnerOnBoarding.BuildConfig
import com.nivesh.production.partnerOnBoarding.R
import com.nivesh.production.partnerOnBoarding.api.ApiClient
@@ -53,12 +54,14 @@ import com.nivesh.production.partnerOnBoarding.repositories.MainRepository
import com.nivesh.production.partnerOnBoarding.ui.activities.BaseActivity
import com.nivesh.production.partnerOnBoarding.ui.activities.SignUpActivity
import com.nivesh.production.partnerOnBoarding.util.*
+import com.nivesh.production.partnerOnBoarding.util.Common.Companion.getDateFromTimeMills
import com.nivesh.production.partnerOnBoarding.util.Common.Companion.getFileExtension
import com.nivesh.production.partnerOnBoarding.util.Common.Companion.isValidIndividualPan
import com.nivesh.production.partnerOnBoarding.util.Common.Companion.showDialogValidation
import com.nivesh.production.partnerOnBoarding.util.Common.Companion.showDialogWithTwoButtons
import com.nivesh.production.partnerOnBoarding.util.Constants.Companion.maxFileSize
import com.nivesh.production.partnerOnBoarding.viewModels.OnBoardingViewModel
+import com.squareup.picasso.Picasso
import okhttp3.MediaType.Companion.toMediaType
import okhttp3.MediaType.Companion.toMediaTypeOrNull
import okhttp3.MultipartBody
@@ -86,14 +89,26 @@ class GetStartedFragment : BaseFragment() {
private var panFileExt: String? = ""
private var docValue: String = ""
private var isFront: Boolean = false
+ private var isBack: Boolean = false
+ private var isARN: Boolean = false
+ private var isEUIN: Boolean = false
private lateinit var viewModel: OnBoardingViewModel
- private lateinit var listOfDocType: List
+ private var listOfDocType: List = emptyList()
+ private var listOfFullDocType: List = emptyList()
private var imageSelectedList = ArrayList()
private var imageSelectedArnEuinList = ArrayList()
private var arnList = ArrayList()
private var arnData: DataX? = null
private lateinit var panRes: PANResponse
- private var selectedDocPosition = -1
+ private var selectedDocPosition = -1
+ private var documentUrlSelected: String = ""
+ private var documentTypeSelected: String = ""
+ private var isDataUpdate: Boolean = false
+ private val pt = PartnerRequest()
+ private var frontUpdatedFileId = 0
+ private var backUpdatedFileId = 0
+ private var arnUpdatedFileId = 0
+ private var euinUpdatedFileId = 0
private val permissions = arrayOf(
Manifest.permission.READ_EXTERNAL_STORAGE,
@@ -156,22 +171,23 @@ class GetStartedFragment : BaseFragment() {
)[OnBoardingViewModel::class.java]
var docType = "I"
- if (arguments?.getString("arnType").equals("Associate", true)) {
+ if (arguments?.getString("arnType").equals(getString(R.string.associateText), true)) {
commonMethodForVisibility(View.GONE)
docType = "N"
- } else if (arguments?.getString("arnType").equals("advisory", true)) {
+ } else if (arguments?.getString("arnType").equals(getString(R.string.advisory), true)) {
commonMethodForVisibility(View.VISIBLE)
docType = "I"
}
+ documentTypeFullAPI()
documentTypeAPI(docType)
binding.edtPassingAMFI.setOnClickListener {
- Common.datePicker(activity as SignUpActivity, binding.edtPassingAMFI,false)
+ Common.datePicker(activity as SignUpActivity, binding.edtPassingAMFI, false)
}
binding.edtExpiryAMFI.setOnClickListener {
- Common.datePicker(activity as SignUpActivity, binding.edtExpiryAMFI,true)
+ Common.datePicker(activity as SignUpActivity, binding.edtExpiryAMFI, true)
}
selectImageIntent = registerForActivityResult(ActivityResultContracts.GetContent())
@@ -194,24 +210,26 @@ class GetStartedFragment : BaseFragment() {
override fun afterTextChanged(s: Editable?) {}
})
- binding.edtEUINNumber.addTextChangedListener(object : TextWatcher{
+ binding.edtEUINNumber.addTextChangedListener(object : TextWatcher {
override fun beforeTextChanged(s: CharSequence?, start: Int, count: Int, after: Int) {}
override fun onTextChanged(s: CharSequence?, start: Int, before: Int, count: Int) {
Common.removeError(binding.tlEUINNumber)
}
+
override fun afterTextChanged(s: Editable?) {}
})
- binding.edtEUINNumberNF.addTextChangedListener(object : TextWatcher{
+ binding.edtEUINNumberNF.addTextChangedListener(object : TextWatcher {
override fun beforeTextChanged(s: CharSequence?, start: Int, count: Int, after: Int) {}
override fun onTextChanged(s: CharSequence?, start: Int, before: Int, count: Int) {
Common.removeError(binding.tlEUINNumberNF)
}
+
override fun afterTextChanged(s: Editable?) {}
})
binding.ivInfo.setOnClickListener {
- replaceFragment(
+ addFragment(
activity as BaseActivity,
R.id.signUpContainer,
QuestionsFragment(),
@@ -247,10 +265,52 @@ class GetStartedFragment : BaseFragment() {
}
}
+ binding.saveDraft.setOnClickListener {
+ val partnerRequest = PartnerRequest()
+
+ if (!TextUtils.isEmpty(binding.edtArnNumber.text.toString().trim())) {
+ partnerRequest.ARNNumber = binding.edtArnNumber.text.toString().trim()
+ }
+ if (binding.tlEUINNumber.isVisible && !TextUtils.isEmpty(
+ binding.edtEUINNumber.text.toString().trim()
+ )
+ ) {
+ partnerRequest.EUINNumber = binding.edtEUINNumber.text.toString().trim()
+ }
+ if (binding.tlEUINNumberNF.isVisible && !TextUtils.isEmpty(
+ binding.edtEUINNumberNF.text.toString().trim()
+ )
+ ) {
+ partnerRequest.EUINNumber = binding.edtEUINNumberNF.text.toString().trim()
+ }
+ if (!TextUtils.isEmpty(binding.edtPassingAMFI.text.toString().trim())) {
+ partnerRequest.DateOfPassingAMFICertificate =
+ binding.edtPassingAMFI.text.toString().trim()
+ }
+ if (!TextUtils.isEmpty(binding.edtExpiryAMFI.text.toString().trim())) {
+ partnerRequest.DateOfExpiryAMFICertificate =
+ binding.edtExpiryAMFI.text.toString().trim()
+ }
+ if (!TextUtils.isEmpty(binding.edtPanNumber.text.toString().trim())) {
+ partnerRequest.PAN = binding.edtPanNumber.text.toString().trim()
+ }
+ if (!TextUtils.isEmpty(binding.edtFullNamePanCard.text.toString().trim())) {
+ partnerRequest.Name = binding.edtFullNamePanCard.text.toString().trim()
+ }
+
+ partnerRequest.Mobile = arguments?.getString("mobile")!!
+ partnerRequest.PartnerCode =
+ PreferenceManager((activity as SignUpActivity)).getPartnerCode()
+ partnerRequest.PartnerType = getString(R.string.advisory)
+ partnerRequest.DateOfIncorporation =
+ getDateFromTimeMills(System.currentTimeMillis())
+ apiPartnerCreation(partnerRequest)
+ }
+
binding.btnNext.setOnClickListener {
apiUploadDocument()
if (arguments?.getString("arnType").equals(getString(R.string.associateText), false)) {
- if(validationAssociate()) {
+ if (validationAssociate()) {
val pt = PartnerRequest()
pt.Name = binding.edtFullNamePanCard.text.toString()
pt.PAN = binding.edtPanNumber.text.toString()
@@ -258,14 +318,14 @@ class GetStartedFragment : BaseFragment() {
val fragment = AlmostThereFragment()
val bundle = Bundle()
bundle.putSerializable("InputValue", pt)
- if(arnData!=null)
- bundle.putSerializable("arnData", arnData)
+ if (arnData != null)
+ bundle.putSerializable("arnData", arnData)
bundle.putSerializable("panData", panRes)
bundle.putString("mobile", arguments?.getString("mobile"))
- bundle.putString("arnType",arguments?.getString("arnType"))
+ bundle.putString("arnType", arguments?.getString("arnType"))
fragment.arguments = bundle
- replaceFragment(
+ addFragment(
activity as BaseActivity,
R.id.signUpContainer,
fragment,
@@ -274,9 +334,11 @@ class GetStartedFragment : BaseFragment() {
)
}
- } else if (arguments?.getString("arnType").equals(getString(R.string.advisory), false)) {
+ } else if (arguments?.getString("arnType")
+ .equals(getString(R.string.advisory), false)
+ ) {
if (validationAdvisory()) {
- val pt = PartnerRequest()
+
pt.ARNNumber = binding.edtArnNumber.text.toString()
if (binding.edtEUINNumber.visibility == View.VISIBLE)
@@ -287,30 +349,20 @@ class GetStartedFragment : BaseFragment() {
pt.Name = binding.edtFullNamePanCard.text.toString()
pt.PAN = binding.edtPanNumber.text.toString()
pt.DateOfPassingAMFICertificate = binding.edtPassingAMFI.text.toString()
+ pt.PartnerType = arguments?.getString("arnType").toString()
+ pt.PartnerCode =
+ PreferenceManager((activity as SignUpActivity)).getPartnerCode()
+ pt.Mobile = arguments?.getString("mobile").toString()
+ pt.DateOfIncorporation = getDateFromTimeMills(System.currentTimeMillis())
- val fragment = AlmostThereFragment()
- val bundle = Bundle()
- bundle.putSerializable("InputValue", pt)
- bundle.putSerializable("arnData", arnData)
- bundle.putSerializable("panData", panRes)
- bundle.putString("mobile", arguments?.getString("mobile"))
- bundle.putString("arnType",arguments?.getString("arnType"))
- fragment.arguments = bundle
-
- replaceFragment(
- activity as BaseActivity,
- R.id.signUpContainer,
- fragment,
- "GET STARTED",
- true
- )
+ apiPartnerCreationContinue(pt)
}
}
}
binding.uploadFront.setOnClickListener {
actionType = mainPANUpload
- isFront = true
+ setImageUploadType(front = true, back = false, aRN = false, eUIN = false)
if (docValue.isNotBlank() && docValue.isNotEmpty()) {
selectImage()
} else {
@@ -323,9 +375,11 @@ class GetStartedFragment : BaseFragment() {
binding.mbUploadChangeFront.setOnClickListener {
actionType = mainPANUpload
- isFront = true
+ setImageUploadType(front = true, back = false, aRN = false, eUIN = false)
if (docValue.isNotBlank() && docValue.isNotEmpty()) {
selectImage()
+ } else if (binding.ivFront.drawable != null) {
+ selectImage()
} else {
showDialogValidation(
activity as SignUpActivity,
@@ -336,9 +390,11 @@ class GetStartedFragment : BaseFragment() {
binding.mbUploadChangeBack.setOnClickListener {
actionType = mainPANUpload
- isFront = false
+ setImageUploadType(front = false, back = true, aRN = false, eUIN = false)
if (docValue.isNotBlank() && docValue.isNotEmpty()) {
selectImage()
+ } else if (binding.ivBack.drawable != null) {
+ selectImage()
} else {
showDialogValidation(
activity as SignUpActivity,
@@ -349,7 +405,7 @@ class GetStartedFragment : BaseFragment() {
binding.uploadBack.setOnClickListener {
actionType = mainPANUpload
- isFront = false
+ setImageUploadType(front = false, back = true, aRN = false, eUIN = false)
if (docValue.isNotBlank() && docValue.isNotEmpty()) {
selectImage()
} else {
@@ -362,11 +418,13 @@ class GetStartedFragment : BaseFragment() {
binding.rlARNUpload.setOnClickListener {
actionType = mainARNPhotoUpload
+ setImageUploadType(front = false, back = false, aRN = true, eUIN = false)
selectImage()
}
binding.rlEUINUpload.setOnClickListener {
actionType = mainEUINPhotoUpload
+ setImageUploadType(front = false, back = false, aRN = false, eUIN = true)
selectImage()
}
@@ -377,11 +435,14 @@ class GetStartedFragment : BaseFragment() {
if (arguments?.getString("arnType").equals(getString(R.string.advisory), true)) {
if (!isValidIndividualPan(s.toString().trim())) {
binding.rlEUINUpload.visibility = View.GONE
+ binding.edtEUINNumber.visibility = View.VISIBLE
+ binding.tlEUINNumber.visibility = View.VISIBLE
} else {
binding.rlEUINUpload.visibility = View.VISIBLE
if (!TextUtils.isEmpty(binding.edtEUINNumber.text)) {
binding.edtEUINNumberNF.setText(binding.edtEUINNumber.text.toString())
binding.edtEUINNumber.visibility = View.GONE
+ binding.tlEUINNumber.visibility = View.GONE
}
}
}
@@ -455,12 +516,197 @@ class GetStartedFragment : BaseFragment() {
)
}
}
+
+ (activity as SignUpActivity).viewModelOne.getPartnerCreationSaveMutableData.observe(
+ viewLifecycleOwner
+ ) { response ->
+ val res: PartnerResponse =
+ Gson().fromJson(
+ response?.data.toString(),
+ PartnerResponse::class.java
+ )
+ Log.e("check_res_partner", res.toString())
+ if (res.Status != null) {
+ showDialogValidation((activity as SignUpActivity), "Detail Saved in Draft")
+ }
+ }
+
+ (activity as SignUpActivity).viewModelOne.getPartnerCreationContinueMutableData.observe(
+ viewLifecycleOwner
+ ) { response ->
+ val res: PartnerResponse =
+ Gson().fromJson(
+ response?.data.toString(),
+ PartnerResponse::class.java
+ )
+
+ if (res.Status != null || res.Status == getString(R.string.successText)) {
+ val fragment = AlmostThereFragment()
+ val bundle = Bundle()
+ bundle.putSerializable("InputValue", pt)
+ bundle.putSerializable("arnData", arnData)
+ bundle.putSerializable("panData", panRes)
+ bundle.putString("mobile", arguments?.getString("mobile"))
+ bundle.putString("arnType", arguments?.getString("arnType"))
+ fragment.arguments = bundle
+
+ addFragment(
+ activity as BaseActivity,
+ R.id.signUpContainer,
+ fragment,
+ "GET STARTED",
+ true
+ )
+ }
+ }
+
+ (activity as SignUpActivity).viewModelOne.getDocumentTypeFullMutableData.observe(
+ viewLifecycleOwner
+ ) { response ->
+ val res: DocumentTypeResponse =
+ Gson().fromJson(
+ response?.data.toString(),
+ DocumentTypeResponse::class.java
+ )
+
+ if (res.Status == getString(R.string.successText)) {
+ listOfFullDocType = res.Result.Data
+ }
+ }
+
+ (activity as SignUpActivity).viewModelOne.getDocumentTypeMutableData.observe(
+ viewLifecycleOwner
+ ) { response ->
+ ProgressUtil.hideLoading()
+ val res: DocumentTypeResponse =
+ Gson().fromJson(
+ response?.data.toString(),
+ DocumentTypeResponse::class.java
+ )
+ Log.e("checkDocRes", res.toString())
+ if (res.Status == getString(R.string.successText)) {
+ listOfDocType = res.Result.Data
+ if (listOfDocType.isNotEmpty()) {
+ setUpDocAdapter(listOfDocType)
+
+ if (arguments?.containsKey("partnerResponse") == true) {
+ val partnerDetailResponse: PartnerDetailResponse? =
+ (arguments?.getSerializable("partnerResponse") as? PartnerDetailResponse)
+ setUpPartnerResponseData(partnerDetailResponse)
+ }
+ }
+ apiAMFIDetail("Mobile", arguments?.getString("mobile"))
+ }
+ }
+
+ (activity as SignUpActivity).viewModelOne.getDocumentUploadMutableData.observe(
+ viewLifecycleOwner
+ ) { response ->
+ val res: DocumentUploadResponse =
+ Gson().fromJson(
+ response?.data.toString(),
+ DocumentUploadResponse::class.java
+ )
+
+ if (res.Status == getString(R.string.successText)) {
+ Toast.makeText(activity as SignUpActivity, res.Message, Toast.LENGTH_LONG)
+ .show()
+ }
+ }
+ }
+
+ private fun setImageUploadType(front: Boolean, back: Boolean, aRN: Boolean, eUIN: Boolean) {
+ isFront = front
+ isBack = back
+ isARN = aRN
+ isEUIN = eUIN
+ }
+
+ private fun setUpPartnerResponseData(partnerResponse: PartnerDetailResponse?) {
+ if (partnerResponse?.Result?.ARNNumber != null) {
+ binding.edtArnNumber.setText(partnerResponse.Result.ARNNumber)
+ }
+
+ if (partnerResponse?.Result?.EUINNumber != null) {
+ binding.edtEUINNumber.setText(partnerResponse.Result.EUINNumber)
+ }
+
+ if (partnerResponse?.Result?.DateOfPassingAMFICertificate != null) {
+ binding.edtPassingAMFI.setText(partnerResponse.Result.DateOfPassingAMFICertificate)
+ }
+
+ if (partnerResponse?.Result?.DateOfExpiryAMFICertificate != null) {
+ binding.edtExpiryAMFI.setText(partnerResponse.Result.DateOfExpiryAMFICertificate)
+ }
+
+ if (partnerResponse?.Result?.PAN != null) {
+ binding.edtPanNumber.setText(partnerResponse.Result.PAN)
+ }
+
+ if (partnerResponse?.Result?.Name != null) {
+ binding.edtFullNamePanCard.setText(partnerResponse.Result.Name)
+ }
+
+ if (partnerResponse?.Result?.filedetails != null && partnerResponse.Result.filedetails.isNotEmpty()) {
+ if (listOfFullDocType != null && listOfFullDocType.isNotEmpty()) {
+ for (i in listOfFullDocType.indices) {
+ for (j in partnerResponse.Result.filedetails.indices) {
+ if (listOfFullDocType[i].DocumentId == partnerResponse.Result.filedetails[j].DocumentId) {
+ for(k in listOfDocType.indices) {
+ if(listOfFullDocType[i].DocumentType == listOfDocType[k].DocumentType) {
+ binding.spDocType.setText(listOfDocType[k].DocumentType)
+ setUpDocAdapter(listOfDocType)
+ }
+ }
+ if (partnerResponse.Result.filedetails[j].FilePath != null) {
+ isDataUpdate = true
+ documentUrlSelected = partnerResponse.Result.filedetails[j].FilePath
+ documentTypeSelected = listOfFullDocType[i].DocumentType
+ setVisibilityUrl(documentTypeSelected)
+ setFrontHideVisibleUrl(j, documentUrlSelected,partnerResponse.Result.filedetails[j].DocumentId,
+ partnerResponse.Result.filedetails[j].FileId)
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+
+ private fun setUpDocAdapter(listOfDocType: List) {
+ val adapter = ArrayAdapter(
+ activity as SignUpActivity,
+ android.R.layout.simple_list_item_1,
+ listOfDocType
+ )
+ binding.spDocType.setAdapter(adapter)
+ }
+
+ private fun apiPartnerCreation(partnerRequest: PartnerRequest) {
+ val data = GsonBuilder().create().toJson(partnerRequest, PartnerRequest::class.java)
+ Log.e("partnerCreation", data.toString())
+ (activity as SignUpActivity).viewModelOne.getPartnerCreateSaveData(
+ partnerRequest,
+ "",
+ (activity as SignUpActivity)
+ )
+ }
+
+ private fun apiPartnerCreationContinue(partnerRequest: PartnerRequest) {
+ val data = GsonBuilder().create().toJson(partnerRequest, PartnerRequest::class.java)
+ Log.e("partnerCreationContinue", data.toString())
+ (activity as SignUpActivity).viewModelOne.getPartnerCreateContinueData(
+ partnerRequest,
+ "",
+ (activity as SignUpActivity)
+ )
}
private fun commonMethodForVisibility(visibility: Int) {
binding.edtArnNumber.visibility = visibility
binding.tlArnNumber.visibility = visibility
binding.edtEUINNumber.visibility = visibility
+ binding.tlEUINNumber.visibility = visibility
binding.tlArnNumber.visibility = visibility
binding.edtPassingAMFI.visibility = visibility
binding.tlPassingAMFI.visibility = visibility
@@ -468,38 +714,29 @@ class GetStartedFragment : BaseFragment() {
binding.tlExpiryAMFI.visibility = visibility
}
- private fun documentTypeAPI(docType: String) {
- try {
- ProgressUtil.showLoading(activity as SignUpActivity)
- (activity as SignUpActivity).viewModelOne.getDocumentType(
+ private fun documentTypeFullAPI() {
+
+ if (listOfDocType != null && listOfDocType.isEmpty()) {
+ Log.e("check_activity_name", (activity as SignUpActivity).localClassName)
+ (activity as SignUpActivity).viewModelOne.getDocumentTypeFull(
"3",//Currently it is static
- docType,
-// Constants.BASE_URL_COMMON + "User/GetAllDocumentsType",
+ "",
(activity as SignUpActivity)
)
+ }
+ }
- ProgressUtil.hideLoading()
- (activity as SignUpActivity).viewModelOne.getDocumentTypeMutableData.observe(
- viewLifecycleOwner
- ) { response ->
- val res: DocumentTypeResponse =
- Gson().fromJson(
- response?.data.toString(),
- DocumentTypeResponse::class.java
- )
- Log.e("checkDocRes", res.toString())
- if (res.Status == getString(R.string.successText)) {
- listOfDocType = res.Result.Data
- if (listOfDocType.isNotEmpty()) {
- val adapter = ArrayAdapter(
- activity as SignUpActivity,
- android.R.layout.simple_list_item_1,
- listOfDocType
- )
- binding.spDocType.setAdapter(adapter)
- }
- }
- apiAMFIDetail("Mobile", arguments?.getString("mobile"))
+ @SuppressLint("SuspiciousIndentation")
+ private fun documentTypeAPI(docType: String) {
+ try {
+ if (listOfDocType != null && listOfDocType.isEmpty()) {
+ ProgressUtil.showLoading(activity as SignUpActivity)
+ Log.e("check_activity_name", (activity as SignUpActivity).localClassName)
+ (activity as SignUpActivity).viewModelOne.getDocumentType(
+ "3",//Currently it is static
+ docType,
+ (activity as SignUpActivity)
+ )
}
} catch (e: Exception) {
@@ -616,17 +853,13 @@ class GetStartedFragment : BaseFragment() {
binding.tlPanNumber,
getString(R.string.pleaseArnNum)
)
- }else if (binding.edtFullNamePanCard.text.toString().isEmpty()) {
+ } else if (binding.edtFullNamePanCard.text.toString().isEmpty()) {
commonErrorMethod(
binding.edtFullNamePanCard,
binding.tlFullNamePanCard,
getString(R.string.pleaseArnNum)
)
- } else if(imageSelectedList != null && imageSelectedList.size == 0){
- showDialogValidation((activity as SignUpActivity),getString(R.string.addressProofType))
- return false
- }
- else return true
+ } else return true
}
private fun validationAdvisory(): Boolean {
@@ -636,13 +869,16 @@ class GetStartedFragment : BaseFragment() {
binding.tlArnNumber,
getString(R.string.pleaseArnNum)
)
- } else if (binding.edtEUINNumber.visibility != View.VISIBLE && binding.edtEUINNumber.text.toString().isEmpty()) {
+ } else if (binding.edtEUINNumber.visibility != View.VISIBLE && binding.edtEUINNumber.text.toString()
+ .isEmpty()
+ ) {
commonErrorMethod(
binding.edtEUINNumber,
binding.tlEUINNumber,
getString(R.string.pleaseEuinNum)
)
- } else if (binding.edtEUINNumberNF.visibility != View.VISIBLE && binding.edtEUINNumberNF.text.toString().isEmpty()
+ } else if (binding.edtEUINNumberNF.visibility != View.VISIBLE && binding.edtEUINNumberNF.text.toString()
+ .isEmpty()
) {
commonErrorMethod(
binding.edtEUINNumberNF,
@@ -667,25 +903,39 @@ class GetStartedFragment : BaseFragment() {
binding.tlPanNumber,
getString(R.string.emptyPAN)
)
- }else if (!isPanVerify) {
+ } else if (!isPanVerify) {
commonErrorMethod(
binding.edtPanNumber,
binding.tlPanNumber,
getString(R.string.invalidPAN)
)
- }
- else if (binding.edtFullNamePanCard.text.toString().isEmpty()) {
+ } else if (binding.edtFullNamePanCard.text.toString().isEmpty()) {
commonErrorMethod(
binding.edtFullNamePanCard,
binding.tlFullNamePanCard,
getString(R.string.full_name_as_on_pan_card)
)
- } else if (imageSelectedList != null && imageSelectedList.size == 0) {
- showDialogValidation(
- (activity as SignUpActivity),
- resources.getString(R.string.selectAddressProof)
- )
- false
+ } else if (!isDataUpdate) {
+ if (imageSelectedList == null || imageSelectedList.size == 0) {
+ showDialogValidation(
+ (activity as SignUpActivity),
+ resources.getString(R.string.selectAddressProof)
+ )
+ return false
+ } else true
+ } else if (isDataUpdate) {
+ return if (TextUtils.isEmpty(documentTypeSelected) && TextUtils.isEmpty(
+ documentUrlSelected
+ )
+ ) {
+ showDialogValidation(
+ (activity as SignUpActivity),
+ getString(R.string.addressProofType)
+ )
+ false
+ } else {
+ true
+ }
} else {
true
}
@@ -786,6 +1036,19 @@ class GetStartedFragment : BaseFragment() {
}
}
+ private fun setVisibilityUrl(s: String) {
+ binding.llDoc.visibility = View.VISIBLE
+ if (s.contains(getString(R.string.aadhaarText))) {
+ binding.txtFront.visibility = View.VISIBLE
+ binding.txtBack.visibility = View.VISIBLE
+ binding.llBack.visibility = View.VISIBLE
+ } else {
+ binding.txtFront.visibility = View.VISIBLE
+ binding.txtBack.visibility = View.GONE
+ binding.llBack.visibility = View.GONE
+ }
+ }
+
private fun getTmpFileUri(): Uri {
val tmpFile =
File.createTempFile("tmp_image_file", ".png", requireActivity().cacheDir).apply {
@@ -876,12 +1139,15 @@ class GetStartedFragment : BaseFragment() {
if (type == "c") {
encodedPANBase64(fileExtension)
if (isFront) imageSelectedList.add(ImageSelectedModel(0, fileExtension))
- else imageSelectedList.add(ImageSelectedModel(0, fileExtension))
+ else imageSelectedList.add(ImageSelectedModel(1, fileExtension))
} else {
val bitmap: Bitmap =
MediaStore.Images.Media.getBitmap(context?.contentResolver, uri)
- val fileName: String = System.currentTimeMillis().toString()
+ var fileName = ""
+ if (isFront) fileName = "FRONT_".plus(System.currentTimeMillis().toString())
+ else if (isBack) fileName =
+ "BACK_".plus(System.currentTimeMillis().toString())
val file = File(fileDir, fileName.plus(".png"))
val fOut = FileOutputStream(file)
@@ -891,7 +1157,7 @@ class GetStartedFragment : BaseFragment() {
fOut.close()
if (file.exists()) encodedPANBase64(file)
- if (isFront) imageSelectedList.add(ImageSelectedModel(1, file))
+ if (isFront) imageSelectedList.add(ImageSelectedModel(0, file))
else imageSelectedList.add(ImageSelectedModel(1, file))
Log.e("check_panString", panString + "\n" + bitmap.toString())
}
@@ -978,83 +1244,62 @@ class GetStartedFragment : BaseFragment() {
private fun apiUploadDocument() {
if (imageSelectedList != null && imageSelectedList.size != 0) {
-
- val part = ArrayList()
-
- imageSelectedList.forEachIndexed { _, element ->
-
- if (element.pos == 0) {
- part.add(prepareImagePart(element.file, "front"))
- } else {
- part.add(prepareImagePart(element.file, "back"))
- }
- }
-
- if(selectedDocPosition != -1) {
- (activity as SignUpActivity).viewModelOne.getDocumentUpload(
- part,
- PreferenceManager((activity as SignUpActivity)).getPartnerCode().toInt(),
- 5,
- listOfDocType[selectedDocPosition].DocumentId,
- (activity as SignUpActivity)
- )
- }else{
- showDialogValidation((activity as SignUpActivity),"Document Not Selected")
- }
-
- (activity as SignUpActivity).viewModelOne.getDocumentUploadMutableData.observe(
- viewLifecycleOwner
- ) { response ->
- Log.e("check_upload_res", response.toString())
- val res: DocumentUploadResponse =
- Gson().fromJson(
- response?.data.toString(),
- DocumentUploadResponse::class.java
+ for (i in 0 until imageSelectedList.size) {
+ if (imageSelectedList[i].pos == 0) {
+ apiUploadRequest(
+ prepareImagePart(imageSelectedList[i].file, "front"),
+ listOfDocType[selectedDocPosition].DocumentId,frontUpdatedFileId
+ )
+ } else if (imageSelectedList[i].pos == 1) {
+ apiUploadRequest(
+ prepareImagePart(imageSelectedList[i].file, "back"),
+ listOfDocType[selectedDocPosition].DocumentId,backUpdatedFileId
)
-
- if (res.Status == getString(R.string.successText)) {
- Toast.makeText(activity as SignUpActivity, res.Message, Toast.LENGTH_LONG)
- .show()
}
}
}
- if (imageSelectedArnEuinList != null && imageSelectedList.size != 0) {
- val part = ArrayList()
-
- imageSelectedArnEuinList.forEachIndexed { _, element ->
- if (element.pos == 0) {
- part.add(prepareImagePart(element.file, "ARN"))
- } else {
- part.add(prepareImagePart(element.file, "EUIN"))
- }
- }
-
- (activity as SignUpActivity).viewModelOne.getDocumentUpload(
- part,
- 3,
- 5,
- 8,
- (activity as SignUpActivity)
- )
- (activity as SignUpActivity).viewModelOne.getDocumentUploadMutableData.observe(
- viewLifecycleOwner
- ) { response ->
- Log.e("check_upload_res", response.toString())
- val res: DocumentUploadResponse =
- Gson().fromJson(
- response?.data.toString(),
- DocumentUploadResponse::class.java
- )
-
- if (res.Status == getString(R.string.successText)) {
- Toast.makeText(activity as SignUpActivity, res.Message, Toast.LENGTH_LONG)
- .show()
+ if (imageSelectedArnEuinList != null) {
+ for (i in 0 until imageSelectedArnEuinList.size) {
+ if (imageSelectedArnEuinList[i].pos == 0) {
+ for (j in listOfFullDocType.indices) {
+ if (listOfFullDocType[j].DocumentType.contains("ARN", ignoreCase = true)) {
+ apiUploadRequest(
+ prepareImagePart(
+ imageSelectedArnEuinList[i].file,
+ "front"
+ ), listOfFullDocType[j].DocumentId,arnUpdatedFileId
+ )
+ break
+ }
+ }
+ } else if (imageSelectedArnEuinList[i].pos == 1) {
+ for (element in listOfFullDocType) {
+ if (element.DocumentType.contains("EUIN", ignoreCase = true)) {
+ apiUploadRequest(
+ prepareImagePart(
+ imageSelectedArnEuinList[i].file,
+ "front"
+ ), listOfFullDocType[i].DocumentId,euinUpdatedFileId
+ )
+ }
+ }
}
}
}
}
+ private fun apiUploadRequest(imagePart: MultipartBody.Part, documentId: Int,fileId: Int) {
+ (activity as SignUpActivity).viewModelOne.getDocumentUpload(
+ imagePart,
+ PreferenceManager((activity as SignUpActivity)).getPartnerCode().toInt(),
+ 5,
+ documentId,
+ fileId,
+ (activity as SignUpActivity)
+ )
+ }
+
private fun prepareImagePart(file: File, partName: String): MultipartBody.Part {
val requestBody: RequestBody =
file.asRequestBody("application/octet-stream".toMediaTypeOrNull())
@@ -1080,4 +1325,38 @@ class GetStartedFragment : BaseFragment() {
binding.ivBack.setImageURI(uri)
}
}
+
+ private fun setFrontHideVisibleUrl(pos: Int, url: String, documentId: Int, fileId: Int) {
+ if (pos == 0) {
+ binding.uploadFront.visibility = View.GONE
+ binding.ivFrontLayer.setBackgroundColor(Color.parseColor("#99000000"))
+ binding.ivFrontTik.setBackgroundResource(R.drawable.svg_tik)
+ binding.mbUploadChangeFront.visibility = View.VISIBLE
+ frontUpdatedFileId = fileId
+ Picasso.get().load(url).into(binding.ivFront)
+ } else {
+ binding.uploadBack.visibility = View.GONE
+ binding.ivBackLayer.setBackgroundColor(Color.parseColor("#99000000"))
+ binding.ivBackTik.setBackgroundResource(R.drawable.svg_tik)
+ binding.mbUploadChangeBack.visibility = View.VISIBLE
+ backUpdatedFileId = fileId
+ Picasso.get().load(url).into(binding.ivBack)
+ }
+
+ for(i in listOfFullDocType.indices){
+ if(documentId == listOfFullDocType[i].DocumentId){
+ if(listOfFullDocType[i].DocumentType.contains("ARN",ignoreCase = true)){
+ Picasso.get().load(url).into(binding.ivARNUpload)
+ binding.tvUploadARNTitle.visibility = View.GONE
+ arnUpdatedFileId = fileId
+ break
+ }else if(listOfFullDocType[i].DocumentType.contains("EUIN",ignoreCase = true)){
+ Picasso.get().load(url).into(binding.ivEUINUpload)
+ binding.tvUploadEUINTitle.visibility = View.GONE
+ euinUpdatedFileId = fileId
+ break
+ }
+ }
+ }
+ }
}
\ No newline at end of file
diff --git a/app/src/main/java/com/nivesh/production/partnerOnBoarding/ui/fragments/OTPFragment.kt b/app/src/main/java/com/nivesh/production/partnerOnBoarding/ui/fragments/OTPFragment.kt
index 924cae4..ef026e4 100644
--- a/app/src/main/java/com/nivesh/production/partnerOnBoarding/ui/fragments/OTPFragment.kt
+++ b/app/src/main/java/com/nivesh/production/partnerOnBoarding/ui/fragments/OTPFragment.kt
@@ -180,7 +180,7 @@ class OTPFragment : BaseFragment() {
fragment.arguments = bundle
- replaceFragment(
+ addFragment(
activity as BaseActivity,
R.id.signUpContainer,
fragment,
diff --git a/app/src/main/java/com/nivesh/production/partnerOnBoarding/ui/fragments/QuestionsFragment.kt b/app/src/main/java/com/nivesh/production/partnerOnBoarding/ui/fragments/QuestionsFragment.kt
index ec3f98a..1cbf443 100644
--- a/app/src/main/java/com/nivesh/production/partnerOnBoarding/ui/fragments/QuestionsFragment.kt
+++ b/app/src/main/java/com/nivesh/production/partnerOnBoarding/ui/fragments/QuestionsFragment.kt
@@ -1,5 +1,7 @@
package com.nivesh.production.partnerOnBoarding.ui.fragments
+import android.content.Intent
+import android.net.Uri
import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
@@ -33,5 +35,11 @@ class QuestionsFragment : BaseFragment() {
binding.header.ivBack.setOnClickListener{
(activity as SignUpActivity).onBackPressedDispatcher.onBackPressed()
}
+
+ binding.header.tvHelpCall.setOnClickListener{
+ val intent = Intent(Intent.ACTION_CALL);
+ intent.data = Uri.parse("tel:18001801818")
+ startActivity(intent)
+ }
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/nivesh/production/partnerOnBoarding/ui/fragments/SaveEAgreementFragment.kt b/app/src/main/java/com/nivesh/production/partnerOnBoarding/ui/fragments/SaveEAgreementFragment.kt
index bfc9186..8399b63 100644
--- a/app/src/main/java/com/nivesh/production/partnerOnBoarding/ui/fragments/SaveEAgreementFragment.kt
+++ b/app/src/main/java/com/nivesh/production/partnerOnBoarding/ui/fragments/SaveEAgreementFragment.kt
@@ -3,6 +3,7 @@ package com.nivesh.production.partnerOnBoarding.ui.fragments
import android.annotation.SuppressLint
import android.app.AlertDialog
import android.app.Dialog
+import android.content.Intent
import android.os.Bundle
import android.text.Editable
import android.text.InputFilter
@@ -22,6 +23,7 @@ import com.nivesh.production.partnerOnBoarding.db.PreferenceManager
import com.nivesh.production.partnerOnBoarding.model.request.SendOTPRequest
import com.nivesh.production.partnerOnBoarding.model.response.SendOTPResponse
import com.nivesh.production.partnerOnBoarding.model.response.ValidateOTPResponse
+import com.nivesh.production.partnerOnBoarding.ui.activities.RegisterActivity
import com.nivesh.production.partnerOnBoarding.ui.activities.SignUpActivity
import com.nivesh.production.partnerOnBoarding.util.Common
import okhttp3.MediaType.Companion.toMediaType
@@ -57,12 +59,6 @@ class SaveEAgreementFragment : BaseFragment() {
smsAPI()
}
- (activity as SignUpActivity).viewModelOne.getSaveEAgreementMutableData.observe(
- viewLifecycleOwner
- ) { response ->
-
- }
-
(activity as SignUpActivity).viewModelOne.getSaveEAgreementMutableData.observe(
viewLifecycleOwner
) { response ->
@@ -107,8 +103,13 @@ class SaveEAgreementFragment : BaseFragment() {
builder.setMessage(message)
builder.setCancelable(false)
if (activity != null) {
- builder.setPositiveButton(getString(R.string.Ok)) { dialogInterface, _ ->
- dialogInterface.dismiss()
+ builder.setPositiveButton(getString(R.string.Ok)) { _, _ ->
+ val openIntent = Intent(
+ (activity as SignUpActivity),
+ RegisterActivity::class.java
+ )
+ openIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK or Intent.FLAG_ACTIVITY_NEW_TASK)
+ (activity as SignUpActivity).startActivity(openIntent)
}
}
builder.show()
@@ -218,7 +219,6 @@ class SaveEAgreementFragment : BaseFragment() {
txtResendOTP.setOnClickListener{
if(dialog.isShowing) dialog.cancel()
-
}
btnSubmit.setOnClickListener {
@@ -295,7 +295,6 @@ class SaveEAgreementFragment : BaseFragment() {
"",
(activity as SignUpActivity)
)
-
}
private fun smsAPI() {
diff --git a/app/src/main/java/com/nivesh/production/partnerOnBoarding/ui/fragments/SignUpFragment.kt b/app/src/main/java/com/nivesh/production/partnerOnBoarding/ui/fragments/SignUpFragment.kt
index 0bd01f4..1933ad2 100644
--- a/app/src/main/java/com/nivesh/production/partnerOnBoarding/ui/fragments/SignUpFragment.kt
+++ b/app/src/main/java/com/nivesh/production/partnerOnBoarding/ui/fragments/SignUpFragment.kt
@@ -12,15 +12,18 @@ import android.view.View
import android.view.ViewGroup
import androidx.core.content.ContextCompat
import androidx.core.widget.TextViewCompat
+import androidx.fragment.app.Fragment
import androidx.lifecycle.ViewModelProvider
import com.google.android.material.button.MaterialButton
import com.google.gson.Gson
+import com.google.gson.GsonBuilder
import com.nivesh.production.partnerOnBoarding.R
import com.nivesh.production.partnerOnBoarding.api.ApiClient
import com.nivesh.production.partnerOnBoarding.databinding.FragmentSignupBinding
import com.nivesh.production.partnerOnBoarding.db.PreferenceManager
import com.nivesh.production.partnerOnBoarding.model.request.PartnerRequest
import com.nivesh.production.partnerOnBoarding.model.request.ValidatePartnerRequest
+import com.nivesh.production.partnerOnBoarding.model.response.PartnerDetailResponse
import com.nivesh.production.partnerOnBoarding.model.response.PartnerResponse
import com.nivesh.production.partnerOnBoarding.model.response.ValidatePartnerResponse
import com.nivesh.production.partnerOnBoarding.providerfactory.OnBoardingModelProviderFactory
@@ -29,6 +32,7 @@ import com.nivesh.production.partnerOnBoarding.ui.activities.BaseActivity
import com.nivesh.production.partnerOnBoarding.ui.activities.SignUpActivity
import com.nivesh.production.partnerOnBoarding.util.Common
import com.nivesh.production.partnerOnBoarding.util.Common.Companion.isValidMobileNumber
+import com.nivesh.production.partnerOnBoarding.util.Constants
import com.nivesh.production.partnerOnBoarding.viewModels.OnBoardingViewModel
class SignUpFragment : BaseFragment() {
@@ -107,7 +111,7 @@ class SignUpFragment : BaseFragment() {
(activity as SignUpActivity).viewModelOne.getValidatePartnerMutableData.observe(
viewLifecycleOwner
) { response ->
- Log.e("check_res_login", response?.data.toString())
+
val validatePartnerResponse: ValidatePartnerResponse =
Gson().fromJson(
response?.data.toString(),
@@ -118,7 +122,8 @@ class SignUpFragment : BaseFragment() {
if (validatePartnerResponse.Result.IsPartialRegistered) {
PreferenceManager(activity as SignUpActivity).setPartnerCode(
validatePartnerResponse.Result.PartnerCode)
- setUpOTPFragment(validatePartnerResponse.Result.PartnerCode)
+
+ checkPartnerDetail(validatePartnerResponse.Result.PartnerCode)
} else {
val partnerRequest = PartnerRequest()
@@ -137,6 +142,55 @@ class SignUpFragment : BaseFragment() {
Common.showDialogValidation((activity as SignUpActivity),validatePartnerResponse.Message)
}
}
+
+ (activity as SignUpActivity).viewModelOne.getPartnerDetailMutableData.observe(
+ viewLifecycleOwner
+ ) { response ->
+ val partnerDetailResponse: PartnerDetailResponse =
+ Gson().fromJson(
+ response?.data.toString(),
+ PartnerDetailResponse::class.java
+ )
+ if(partnerDetailResponse.Status == getString(R.string.successText)){
+ if(partnerDetailResponse.Result.Step == 1){
+ setUpOTPFragment(PreferenceManager((activity as SignUpActivity)).getPartnerCode())
+ }else if(partnerDetailResponse.Result.Step != 1){
+ Log.e("check_otp_res", response?.data.toString())
+ val bundle = Bundle()
+ bundle.putString("mobile", partnerDetailResponse.Result.Mobile)
+ bundle.putString("arnType", arguments?.getString("arnType"))
+ bundle.putSerializable("partnerResponse",partnerDetailResponse)
+ var fragment = Fragment()
+ if (type == 4) {
+ when (partnerDetailResponse.Result.Step) {
+ 2 -> fragment = GetStartedFragment()
+ 3 -> fragment = AlmostThereFragment()
+ 4 -> fragment = SaveEAgreementFragment()
+ }
+ } else if (type == 3) {
+ fragment = NewDistributorSignStepOne()
+ }
+
+ fragment.arguments = bundle
+
+ addFragment(
+ activity as BaseActivity,
+ R.id.signUpContainer,
+ fragment,
+ "GET STARTED",
+ true
+ )
+ }
+ }
+ }
+ }
+
+ private fun checkPartnerDetail(partnerCode: String) {
+ (activity as SignUpActivity).viewModelOne.getPartnerDetailData(
+ partnerCode,
+ Constants.accessKey,
+ (activity as SignUpActivity)
+ )
}
private fun setUpOTPFragment(partnerCode: String) {
@@ -158,7 +212,6 @@ class SignUpFragment : BaseFragment() {
)
}
-
private fun validate(): Boolean {
return if (binding.edtMobileNumber.text.toString().isEmpty()) { // EditText
Common.commonErrorMethod(
@@ -182,5 +235,4 @@ class SignUpFragment : BaseFragment() {
return true
}
}
-
}
\ No newline at end of file
diff --git a/app/src/main/java/com/nivesh/production/partnerOnBoarding/util/Common.kt b/app/src/main/java/com/nivesh/production/partnerOnBoarding/util/Common.kt
index 58c17f6..ad9eb66 100644
--- a/app/src/main/java/com/nivesh/production/partnerOnBoarding/util/Common.kt
+++ b/app/src/main/java/com/nivesh/production/partnerOnBoarding/util/Common.kt
@@ -262,11 +262,18 @@ class Common {
val datePickerDialog = DatePickerDialog(
activity as SignUpActivity, { _, years, monthOfYear, dayOfMonth ->
var monthsCount = (monthOfYear+1)
- preSelectedDate = if (monthsCount.toString().length == 1) {
- years.toString().plus("-").plus("0".plus(monthOfYear)).plus("-").plus(dayOfMonth)
+ var selectedDay = if(dayOfMonth.toString().length == 1){
+ "0$dayOfMonth"
}else {
- years.toString().plus("-").plus(monthOfYear).plus("-").plus(dayOfMonth)
+ dayOfMonth
}
+ var monthYear = if (monthsCount.toString().length == 1) {
+ "0".plus(monthOfYear)
+ }else {
+ monthOfYear
+ }
+
+ preSelectedDate = years.toString().plus("-").plus(monthYear).plus("-").plus(selectedDay)
edtDOB.setText(preSelectedDate)
edtDOB.setSelection(edtDOB.text.toString().length)
}, year, month, day
diff --git a/app/src/main/java/com/nivesh/production/partnerOnBoarding/util/Constants.kt b/app/src/main/java/com/nivesh/production/partnerOnBoarding/util/Constants.kt
index 9f34e65..b9d512b 100644
--- a/app/src/main/java/com/nivesh/production/partnerOnBoarding/util/Constants.kt
+++ b/app/src/main/java/com/nivesh/production/partnerOnBoarding/util/Constants.kt
@@ -4,6 +4,9 @@ class Constants {
companion object {
const val BASE_URL = "http://3.109.121.6/api/"
+ const val privacyPolicyLink = "https://androidprivacypolicy.s3.ap-south-1.amazonaws.com/"
+ const val tcLink = "https://www.nivesh.com/en/terms-and-conditions"
const val maxFileSize: Double = 5.0
+ const val accessKey: String = "hcdCy0roNswTNTBaHZZdSemiKojB2yrH"
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/nivesh/production/partnerOnBoarding/viewModels/OnBoardingViewModel.kt b/app/src/main/java/com/nivesh/production/partnerOnBoarding/viewModels/OnBoardingViewModel.kt
index e9bd265..a1e3451 100644
--- a/app/src/main/java/com/nivesh/production/partnerOnBoarding/viewModels/OnBoardingViewModel.kt
+++ b/app/src/main/java/com/nivesh/production/partnerOnBoarding/viewModels/OnBoardingViewModel.kt
@@ -31,6 +31,46 @@ open class OnBoardingViewModel(private val mainRepository: MainRepository) : Vie
}
}
+ val getPartnerCreationSaveMutableData: MutableLiveData?> =
+ MutableLiveData()
+
+ fun getPartnerCreateSaveData(
+ requestBody: PartnerRequest,
+ token: String,
+ activity: Activity
+ ) = viewModelScope.launch(handleError(activity)) {
+ if (Common.isNetworkAvailable(activity)) {
+ val response = mainRepository.getPartnerCreationResponse(requestBody, token)
+ getPartnerCreationSaveMutableData.postValue(handleResponse(response))
+ }
+ }
+
+ val getPartnerCreationContinueMutableData: MutableLiveData?> =
+ MutableLiveData()
+
+ fun getPartnerCreateContinueData(
+ requestBody: PartnerRequest,
+ token: String,
+ activity: Activity
+ ) = viewModelScope.launch(handleError(activity)) {
+ if (Common.isNetworkAvailable(activity)) {
+ val response = mainRepository.getPartnerCreationResponse(requestBody, token)
+ getPartnerCreationContinueMutableData.postValue(handleResponse(response))
+ }
+ }
+
+ val getPartnerDetailMutableData: MutableLiveData?> = MutableLiveData()
+ fun getPartnerDetailData(
+ partnerCode: String,
+ token: String,
+ activity: Activity
+ ) = viewModelScope.launch(handleError(activity)) {
+ if (Common.isNetworkAvailable(activity)) {
+ val response = mainRepository.getPartnerDetailResponse(partnerCode, token)
+ getPartnerDetailMutableData.postValue(handleResponse(response))
+ }
+ }
+
val getValidatePartnerMutableData: MutableLiveData?> = MutableLiveData()
fun getPartnerValidate(
validatePartnerRequest: ValidatePartnerRequest,
@@ -55,7 +95,9 @@ open class OnBoardingViewModel(private val mainRepository: MainRepository) : Vie
}
}
- val getSendOTPSaveEAgreementMutableData: MutableLiveData?> = MutableLiveData()
+ val getSendOTPSaveEAgreementMutableData: MutableLiveData?> =
+ MutableLiveData()
+
fun getSaveEAgreementSendOTP(
sendOTPRequest: SendOTPRequest,
token: String,
@@ -108,21 +150,35 @@ open class OnBoardingViewModel(private val mainRepository: MainRepository) : Vie
activity: Activity
) = viewModelScope.launch(handleError(activity)) {
if (Common.isNetworkAvailable(activity)) {
- val response = mainRepository.getDocumentTypeResponse(value,type)
+ val response = mainRepository.getDocumentTypeResponse(value, type)
getDocumentTypeMutableData.postValue(handleResponse(response))
}
}
+ val getDocumentTypeFullMutableData: MutableLiveData?> = MutableLiveData()
+ fun getDocumentTypeFull(
+ value: String,
+ type: String,
+ activity: Activity
+ ) = viewModelScope.launch(handleError(activity)) {
+ if (Common.isNetworkAvailable(activity)) {
+ val response = mainRepository.getDocumentTypeResponse(value, type)
+ getDocumentTypeFullMutableData.postValue(handleResponse(response))
+ }
+ }
+
val getDocumentUploadMutableData: MutableLiveData?> = MutableLiveData()
fun getDocumentUpload(
- multipartBody: List,
+// multipartBody: List,
+ multipartBody: MultipartBody.Part,
pc: Int,
pr: Int,
di: Int,
+ fileId: Int,
activity: Activity
) = viewModelScope.launch(handleError(activity)) {
if (Common.isNetworkAvailable(activity)) {
- val response = mainRepository.getDocumentUploadResponse(multipartBody,pc,pr,di)
+ val response = mainRepository.getDocumentUploadResponse(multipartBody, pc, pr, di,fileId)
getDocumentUploadMutableData.postValue(handleResponse(response))
}
}
@@ -148,4 +204,15 @@ open class OnBoardingViewModel(private val mainRepository: MainRepository) : Vie
getAllProductMutableData.postValue(handleResponse(response))
}
}
+
+ val getAreaDetailByPinMutableData: MutableLiveData?> = MutableLiveData()
+ fun getAreaDetailByPin(
+ pin: String,
+ activity: Activity
+ ) = viewModelScope.launch(handleError(activity)) {
+ if (Common.isNetworkAvailable(activity)) {
+ val response = mainRepository.getAreaDetailByPinCode(pin)
+ getAreaDetailByPinMutableData.postValue(handleResponse(response))
+ }
+ }
}
\ No newline at end of file
diff --git a/app/src/main/res/drawable/round_blue_solid.xml b/app/src/main/res/drawable/round_blue_solid.xml
new file mode 100644
index 0000000..b4da4e0
--- /dev/null
+++ b/app/src/main/res/drawable/round_blue_solid.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/svg_close.xml b/app/src/main/res/drawable/svg_close.xml
index 5e8560a..844b6b6 100644
--- a/app/src/main/res/drawable/svg_close.xml
+++ b/app/src/main/res/drawable/svg_close.xml
@@ -1,20 +1,5 @@
-
-
-
-
-
-
-
\ No newline at end of file
+
+
+
diff --git a/app/src/main/res/layout/activity_register.xml b/app/src/main/res/layout/activity_register.xml
index ed62148..50153e1 100644
--- a/app/src/main/res/layout/activity_register.xml
+++ b/app/src/main/res/layout/activity_register.xml
@@ -73,7 +73,6 @@
app:layout_constraintStart_toEndOf="@+id/txtAccount"
app:layout_constraintTop_toTopOf="parent" />
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_almost_there.xml b/app/src/main/res/layout/fragment_almost_there.xml
index cbfb7bc..0b82a06 100644
--- a/app/src/main/res/layout/fragment_almost_there.xml
+++ b/app/src/main/res/layout/fragment_almost_there.xml
@@ -4,6 +4,7 @@
xmlns:tool="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
+ android:background="@color/white"
android:orientation="vertical">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_get_started.xml b/app/src/main/res/layout/fragment_get_started.xml
index f991d1a..ebca3f1 100644
--- a/app/src/main/res/layout/fragment_get_started.xml
+++ b/app/src/main/res/layout/fragment_get_started.xml
@@ -4,6 +4,7 @@
xmlns:tool="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
+ android:background="@color/white"
android:orientation="vertical">
@@ -93,17 +94,17 @@
android:id="@+id/rlARNUpload"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:visibility="gone"
android:layout_marginTop="@dimen/margin_10"
+ android:visibility="gone"
app:layout_constraintTop_toBottomOf="@+id/tlArnNumber">
+ android:text="@string/uploadArnCard"
+ android:textColor="@color/black" />
-
-
-
-
-
+ android:layout_below="@+id/tvUploadFormat"
+ android:layout_marginTop="@dimen/margin_5"
+ android:background="@drawable/dot_rect">
-
+
+
+
+
+
@@ -178,11 +179,11 @@
android:id="@+id/edtPassingAMFI"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:inputType="none"
- android:focusable="false"
android:drawableStart="@drawable/svg_cal"
android:drawablePadding="@dimen/margin_10"
+ android:focusable="false"
android:gravity="center_vertical"
+ android:inputType="none"
android:textColorHint="@color/greyColor2"
android:textSize="@dimen/text_size_14" />
@@ -202,11 +203,11 @@
android:id="@+id/edtExpiryAMFI"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:inputType="none"
- android:focusable="false"
android:drawableStart="@drawable/svg_cal"
android:drawablePadding="@dimen/margin_10"
+ android:focusable="false"
android:gravity="center_vertical"
+ android:inputType="none"
android:textColorHint="@color/greyColor2"
android:textSize="@dimen/text_size_14" />
@@ -228,8 +229,8 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:digits="@string/panDigit"
- android:maxLength="10"
android:inputType="textCapCharacters"
+ android:maxLength="10"
android:textColorHint="@color/greyColor2"
android:textSize="@dimen/text_size_14"
tool:ignore="TextContrastCheck" />
@@ -263,8 +264,8 @@
android:id="@+id/rlEUINUpload"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:visibility="gone"
android:layout_marginTop="@dimen/margin_10"
+ android:visibility="gone"
app:layout_constraintTop_toBottomOf="@+id/tlFullNamePanCard">
+ android:padding="@dimen/margin_3">
+ android:textSize="@dimen/text_size_14"
+ app:mask="#### / #### / ####" />
+ android:text="@string/uploadEUINCard"
+ android:textColor="@color/black" />
+ android:text="@string/format_png_or_jpg" />
+ android:text="@string/upload"
+ android:textColor="@color/lightBlue1" />
@@ -370,7 +371,7 @@
android:layout_marginStart="@dimen/margin_8"
android:layout_marginTop="@dimen/margin_25"
android:padding="@dimen/margin_4"
- android:text="Add ADDRESS PROOF"
+ android:text="@string/add_address_proof"
android:textColor="@color/black"
android:textSize="@dimen/text_size_14"
android:textStyle="bold"
@@ -398,7 +399,7 @@
android:layout_marginStart="@dimen/margin_8"
android:layout_marginTop="@dimen/margin_3"
android:padding="@dimen/margin_4"
- android:text="Choose the document type"
+ android:text="@string/choose_the_document_type"
android:textColor="@color/black"
android:textSize="@dimen/text_size_14"
android:textStyle="bold"
@@ -623,7 +624,7 @@
app:layout_constraintHorizontal_chainStyle="spread"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toLeftOf="@+id/btnNext"
- app:layout_constraintStart_toStartOf="parent"/>
+ app:layout_constraintStart_toStartOf="parent" />
+ android:text="@string/pleaseWait"
+ android:textColor="@color/white" />
diff --git a/app/src/main/res/layout/new_distributor_sign_step_one.xml b/app/src/main/res/layout/new_distributor_sign_step_one.xml
index 96d26e9..4531a3a 100644
--- a/app/src/main/res/layout/new_distributor_sign_step_one.xml
+++ b/app/src/main/res/layout/new_distributor_sign_step_one.xml
@@ -2,6 +2,7 @@
success
Aadhaar
minutes are remaining to complete the process
- Associate
- advisory
+
+ 4
+
+ 3
Join Nivesh
APPLY NOW
Please Wait...
+ Privacy Policy
+
+ Choose the document type
+ Add ADDRESS PROOF
\ No newline at end of file
diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml
index f94d6d1..16c3ddf 100644
--- a/app/src/main/res/values/colors.xml
+++ b/app/src/main/res/values/colors.xml
@@ -11,6 +11,7 @@
#02B92D
#E9161E
#1F5ACE
+ #004783
#00000000
#99000000
#5077FF
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 94dc6a0..9415489 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -363,10 +363,16 @@
success
Aadhaar
minutes are remaining to complete the process
- Associate
- advisory
+
+ 4
+
+ 3
Join Nivesh
APPLY NOW
Please Wait...
+ Privacy Policy
+
+ Choose the document type
+ Add ADDRESS PROOF
\ No newline at end of file