|
@ -6,10 +6,8 @@ import android.app.ActionBar.LayoutParams |
|
|
import android.app.Dialog |
|
|
import android.app.Dialog |
|
|
import android.content.pm.PackageManager |
|
|
import android.content.pm.PackageManager |
|
|
import android.database.Cursor |
|
|
import android.database.Cursor |
|
|
import android.graphics.Bitmap |
|
|
|
|
|
import android.net.Uri |
|
|
import android.net.Uri |
|
|
import android.os.Bundle |
|
|
import android.os.Bundle |
|
|
import android.provider.MediaStore |
|
|
|
|
|
import android.provider.OpenableColumns |
|
|
import android.provider.OpenableColumns |
|
|
import android.text.Editable |
|
|
import android.text.Editable |
|
|
import android.util.Base64 |
|
|
import android.util.Base64 |
|
@ -17,17 +15,11 @@ import android.util.Log |
|
|
import android.view.LayoutInflater |
|
|
import android.view.LayoutInflater |
|
|
import android.view.View |
|
|
import android.view.View |
|
|
import android.view.ViewGroup |
|
|
import android.view.ViewGroup |
|
|
import android.widget.AdapterView |
|
|
|
|
|
import android.widget.ArrayAdapter |
|
|
|
|
|
import android.widget.ImageView |
|
|
|
|
|
import android.widget.TextView |
|
|
|
|
|
import android.widget.Toast |
|
|
|
|
|
|
|
|
import android.widget.* |
|
|
import androidx.activity.result.ActivityResultLauncher |
|
|
import androidx.activity.result.ActivityResultLauncher |
|
|
import androidx.activity.result.contract.ActivityResultContracts |
|
|
import androidx.activity.result.contract.ActivityResultContracts |
|
|
import androidx.core.app.ActivityCompat |
|
|
|
|
|
import androidx.core.content.ContextCompat |
|
|
import androidx.core.content.ContextCompat |
|
|
import androidx.core.content.FileProvider |
|
|
import androidx.core.content.FileProvider |
|
|
import androidx.fragment.app.Fragment |
|
|
|
|
|
import androidx.lifecycle.lifecycleScope |
|
|
import androidx.lifecycle.lifecycleScope |
|
|
import com.google.gson.Gson |
|
|
import com.google.gson.Gson |
|
|
import com.nivesh.production.bajajfd.BuildConfig |
|
|
import com.nivesh.production.bajajfd.BuildConfig |
|
@ -57,6 +49,13 @@ class StepThreeBajajFDFragment : BaseFragment() { |
|
|
private var uniqueId: String? = "" |
|
|
private var uniqueId: String? = "" |
|
|
private lateinit var dialog: Dialog |
|
|
private lateinit var dialog: Dialog |
|
|
private lateinit var front: String |
|
|
private lateinit var front: String |
|
|
|
|
|
private var takeImageResult: ActivityResultLauncher<Uri>? = null |
|
|
|
|
|
private var selectImageIntent: ActivityResultLauncher<String>? = null |
|
|
|
|
|
private var fileExt: String? = null |
|
|
|
|
|
private val mapImage: HashMap<String, String> = HashMap() |
|
|
|
|
|
private var selectdImage: String? = null |
|
|
|
|
|
private var checkPANUploadFile: Boolean? = false |
|
|
|
|
|
private var checkPhotoUploadFile: Boolean? = false |
|
|
|
|
|
|
|
|
companion object { |
|
|
companion object { |
|
|
fun getInstance(fdInterface: BajajFDInterface): StepThreeBajajFDFragment { |
|
|
fun getInstance(fdInterface: BajajFDInterface): StepThreeBajajFDFragment { |
|
@ -70,22 +69,6 @@ class StepThreeBajajFDFragment : BaseFragment() { |
|
|
bajajFDInterface = bajajFDInterfaces |
|
|
bajajFDInterface = bajajFDInterfaces |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
private val selectImageIntent = registerForActivityResult(ActivityResultContracts.GetContent()) |
|
|
|
|
|
{ uri -> |
|
|
|
|
|
val bitmap: Bitmap = MediaStore.Images.Media.getBitmap(context?.contentResolver, uri) |
|
|
|
|
|
binding.iv.setImageBitmap(bitmap) |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
private val takeImageResult = |
|
|
|
|
|
registerForActivityResult(ActivityResultContracts.TakePicture()) { isSuccess -> |
|
|
|
|
|
if (isSuccess) { |
|
|
|
|
|
latestTmpUri?.let { uri -> |
|
|
|
|
|
// binding.iv.setImageURI(uri) |
|
|
|
|
|
uploadDocument(uri) |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
private val requestPermission = registerForActivityResult( |
|
|
private val requestPermission = registerForActivityResult( |
|
|
ActivityResultContracts.RequestPermission() |
|
|
ActivityResultContracts.RequestPermission() |
|
|
) { isGranted: Boolean -> |
|
|
) { isGranted: Boolean -> |
|
@ -106,9 +89,29 @@ class StepThreeBajajFDFragment : BaseFragment() { |
|
|
val root = binding.root |
|
|
val root = binding.root |
|
|
stepThreeBajajFDViewModel = (activity as BajajFdMainActivity).stepThreeBajajFDViewModel |
|
|
stepThreeBajajFDViewModel = (activity as BajajFdMainActivity).stepThreeBajajFDViewModel |
|
|
|
|
|
|
|
|
|
|
|
selectImageIntent = registerForActivityResult(ActivityResultContracts.GetContent()) |
|
|
|
|
|
{ uri: Uri? -> |
|
|
|
|
|
if (uri != null) { |
|
|
|
|
|
uploadDocument(uri) |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
takeImageResult = |
|
|
|
|
|
registerForActivityResult(ActivityResultContracts.TakePicture()) { isSuccess -> |
|
|
|
|
|
if (isSuccess) { |
|
|
|
|
|
latestTmpUri?.let { uri -> |
|
|
|
|
|
uploadDocument(uri) |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
binding.btnNext.setOnClickListener { |
|
|
binding.btnNext.setOnClickListener { |
|
|
if (validate()) { |
|
|
if (validate()) { |
|
|
uploadDocApi() |
|
|
|
|
|
|
|
|
var uploadPosition = 0 |
|
|
|
|
|
for (entry in mapImage.iterator()) { |
|
|
|
|
|
uploadPosition++ |
|
|
|
|
|
uploadDocApi(entry.key, entry.value, uploadPosition) |
|
|
|
|
|
} |
|
|
// |
|
|
// |
|
|
// bajajFDInterface.stepThreeApi((activity as BajajFdMainActivity).createFDRequest) |
|
|
// bajajFDInterface.stepThreeApi((activity as BajajFdMainActivity).createFDRequest) |
|
|
} |
|
|
} |
|
@ -117,8 +120,28 @@ class StepThreeBajajFDFragment : BaseFragment() { |
|
|
(activity as BajajFdMainActivity).binding.viewPager.currentItem = 1 |
|
|
(activity as BajajFdMainActivity).binding.viewPager.currentItem = 1 |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
binding.btnPANUpload.setOnClickListener { |
|
|
|
|
|
checkPANUploadFile = true |
|
|
|
|
|
checkPhotoUploadFile = false |
|
|
|
|
|
selectImage("PAN") |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
binding.btnPhotoUpload.setOnClickListener { |
|
|
|
|
|
checkPhotoUploadFile = true |
|
|
|
|
|
checkPANUploadFile = false |
|
|
|
|
|
selectImage("Photograph") |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
binding.btnAadhaarFrontUpload.setOnClickListener { |
|
|
binding.btnAadhaarFrontUpload.setOnClickListener { |
|
|
selectImage() |
|
|
|
|
|
|
|
|
checkPANUploadFile = false |
|
|
|
|
|
checkPhotoUploadFile = false |
|
|
|
|
|
selectImage(binding.spDocType.text.toString()) |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
binding.btnAadhaarBackUpload.setOnClickListener { |
|
|
|
|
|
checkPANUploadFile = false |
|
|
|
|
|
checkPhotoUploadFile = false |
|
|
|
|
|
selectImage(binding.spDocType.text.toString()) |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
binding.spDocType.onItemClickListener = |
|
|
binding.spDocType.onItemClickListener = |
|
@ -162,7 +185,8 @@ class StepThreeBajajFDFragment : BaseFragment() { |
|
|
return result |
|
|
return result |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
private fun selectImage() { |
|
|
|
|
|
|
|
|
private fun selectImage(fileType: String) { |
|
|
|
|
|
selectdImage = fileType |
|
|
dialog = Dialog(activity as BajajFdMainActivity) |
|
|
dialog = Dialog(activity as BajajFdMainActivity) |
|
|
dialog.setContentView(R.layout.camera_gallery_layout) |
|
|
dialog.setContentView(R.layout.camera_gallery_layout) |
|
|
val ivCut: ImageView = dialog.findViewById(R.id.ivCut) |
|
|
val ivCut: ImageView = dialog.findViewById(R.id.ivCut) |
|
@ -175,55 +199,31 @@ class StepThreeBajajFDFragment : BaseFragment() { |
|
|
|
|
|
|
|
|
tvGallery.setOnClickListener { |
|
|
tvGallery.setOnClickListener { |
|
|
dialog.cancel() |
|
|
dialog.cancel() |
|
|
when { |
|
|
|
|
|
ContextCompat.checkSelfPermission( |
|
|
|
|
|
activity as BajajFdMainActivity, |
|
|
|
|
|
|
|
|
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 |
|
|
Manifest.permission.READ_EXTERNAL_STORAGE |
|
|
) == PackageManager.PERMISSION_GRANTED -> { |
|
|
|
|
|
selectImageIntent.launch("image/*") |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
ActivityCompat.shouldShowRequestPermissionRationale( |
|
|
|
|
|
activity as BajajFdMainActivity, |
|
|
|
|
|
Manifest.permission.READ_EXTERNAL_STORAGE |
|
|
|
|
|
) -> { |
|
|
|
|
|
requestPermission.launch( |
|
|
|
|
|
Manifest.permission.READ_EXTERNAL_STORAGE |
|
|
|
|
|
) |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
else -> { |
|
|
|
|
|
requestPermission.launch( |
|
|
|
|
|
Manifest.permission.READ_EXTERNAL_STORAGE |
|
|
|
|
|
) |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
) |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
tvCamera.setOnClickListener { |
|
|
tvCamera.setOnClickListener { |
|
|
dialog.cancel() |
|
|
dialog.cancel() |
|
|
when { |
|
|
|
|
|
ContextCompat.checkSelfPermission( |
|
|
|
|
|
activity as BajajFdMainActivity, |
|
|
|
|
|
Manifest.permission.CAMERA |
|
|
|
|
|
) == PackageManager.PERMISSION_GRANTED -> { |
|
|
|
|
|
takeImage() |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
ActivityCompat.shouldShowRequestPermissionRationale( |
|
|
|
|
|
activity as BajajFdMainActivity, |
|
|
|
|
|
|
|
|
val permission = ContextCompat.checkSelfPermission( |
|
|
|
|
|
activity as BajajFdMainActivity, |
|
|
|
|
|
Manifest.permission.CAMERA |
|
|
|
|
|
) |
|
|
|
|
|
if (permission == PackageManager.PERMISSION_GRANTED) { |
|
|
|
|
|
takeImage() |
|
|
|
|
|
} else { |
|
|
|
|
|
requestPermission.launch( |
|
|
Manifest.permission.CAMERA |
|
|
Manifest.permission.CAMERA |
|
|
) -> { |
|
|
|
|
|
requestPermission.launch( |
|
|
|
|
|
Manifest.permission.CAMERA |
|
|
|
|
|
) |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
else -> { |
|
|
|
|
|
requestPermission.launch( |
|
|
|
|
|
Manifest.permission.CAMERA |
|
|
|
|
|
) |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
) |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
@ -261,13 +261,19 @@ class StepThreeBajajFDFragment : BaseFragment() { |
|
|
if (Common.isNetworkAvailable(activity as BajajFdMainActivity)) { |
|
|
if (Common.isNetworkAvailable(activity as BajajFdMainActivity)) { |
|
|
val documentUpload = DocumentUpload() |
|
|
val documentUpload = DocumentUpload() |
|
|
val value: Editable? = binding.spDocType.text |
|
|
val value: Editable? = binding.spDocType.text |
|
|
val file_dir:File = requireActivity().cacheDir |
|
|
|
|
|
|
|
|
val file_dir: File = requireActivity().cacheDir |
|
|
val file_ex = File(file_dir.toString().plus("/").plus(getFileName(uri))) |
|
|
val file_ex = File(file_dir.toString().plus("/").plus(getFileName(uri))) |
|
|
|
|
|
fileExt = file_ex.extension |
|
|
var file_path: File? = uri.path?.let { File(it) } |
|
|
var file_path: File? = uri.path?.let { File(it) } |
|
|
encodedFileToBase64(file_ex) |
|
|
encodedFileToBase64(file_ex) |
|
|
|
|
|
|
|
|
Log.e("check_data_front", value.toString()+"\n"+front) |
|
|
|
|
|
// documentUpload.DocumentType = |
|
|
|
|
|
|
|
|
if (checkPANUploadFile == true || checkPhotoUploadFile == true) { |
|
|
|
|
|
mapImage["Main ".plus(selectdImage)] = front |
|
|
|
|
|
} else { |
|
|
|
|
|
selectdImage?.let { mapImage.put(it, front) } |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
Log.e("check_data_front", value.toString() + "\n" + front) |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
@ -301,31 +307,37 @@ class StepThreeBajajFDFragment : BaseFragment() { |
|
|
return bytes |
|
|
return bytes |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
private fun uploadDocApi(){ |
|
|
|
|
|
if(Common.isNetworkAvailable((activity as BajajFdMainActivity))){ |
|
|
|
|
|
|
|
|
private fun uploadDocApi(key: String, imageBase64: String, uploadPosition: Int) { |
|
|
|
|
|
if (Common.isNetworkAvailable((activity as BajajFdMainActivity))) { |
|
|
val du = DocumentUpload() |
|
|
val du = DocumentUpload() |
|
|
du.Description = "PAN" |
|
|
|
|
|
du.DocumentType = "PAN" |
|
|
|
|
|
du.FDProvider = "Bajaj" |
|
|
|
|
|
du.ImageEncodeToBase64 = front //"data:image/png;base64" |
|
|
|
|
|
du.NiveshClientCode = (activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_CODE |
|
|
|
|
|
|
|
|
du.Description = key |
|
|
|
|
|
du.DocumentType = key |
|
|
|
|
|
du.FDProvider = getString(R.string.bajaj) |
|
|
|
|
|
du.ImageEncodeToBase64 = |
|
|
|
|
|
"data:image/" + "." + fileExt + ";base64,".plus(imageBase64) //"data:image/png;base64" |
|
|
|
|
|
du.NiveshClientCode = |
|
|
|
|
|
(activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_CODE |
|
|
du.UniqueId = uniqueId |
|
|
du.UniqueId = uniqueId |
|
|
stepThreeBajajFDViewModel.documentsUpload(du,Constants.token) |
|
|
|
|
|
|
|
|
stepThreeBajajFDViewModel.documentsUpload(du, Constants.token) |
|
|
|
|
|
|
|
|
val gson = Gson() |
|
|
|
|
|
val jsonString = gson.toJson(DocumentUpload()) |
|
|
|
|
|
Log.e("check_request_json",jsonString) |
|
|
|
|
|
|
|
|
|
|
|
stepThreeBajajFDViewModel.getDocumentUploadMutableData.observe(viewLifecycleOwner){ response -> |
|
|
|
|
|
when (response){ |
|
|
|
|
|
is Resource.Success ->{ |
|
|
|
|
|
|
|
|
stepThreeBajajFDViewModel.getDocumentUploadMutableData.observe(viewLifecycleOwner) { response -> |
|
|
|
|
|
when (response) { |
|
|
|
|
|
is Resource.Success -> { |
|
|
Log.e("response", "-->$response") |
|
|
Log.e("response", "-->$response") |
|
|
val getUploadResponse: UploadResponse = |
|
|
val getUploadResponse: UploadResponse = |
|
|
Gson().fromJson(response.data?.toString(),UploadResponse::class.java) |
|
|
|
|
|
|
|
|
Gson().fromJson(response.data?.toString(), UploadResponse::class.java) |
|
|
getUploadResponse.Response.StatusCode.let { code -> |
|
|
getUploadResponse.Response.StatusCode.let { code -> |
|
|
when (code) { |
|
|
when (code) { |
|
|
200 -> { |
|
|
200 -> { |
|
|
Log.e("check_upload_res",response.message.toString()) |
|
|
|
|
|
|
|
|
Log.e("check_upload_res", response.message.toString()) |
|
|
|
|
|
// if (uploadPosition == mapImage.size) { |
|
|
|
|
|
Toast.makeText( |
|
|
|
|
|
requireActivity(), |
|
|
|
|
|
"".plus(mapImage.size.toString() + " Last Image Uploaded ") + |
|
|
|
|
|
uploadPosition, |
|
|
|
|
|
Toast.LENGTH_LONG |
|
|
|
|
|
).show() |
|
|
|
|
|
// } |
|
|
} |
|
|
} |
|
|
// 650 -> refreshToken() |
|
|
// 650 -> refreshToken() |
|
|
else -> {} |
|
|
else -> {} |
|
@ -343,7 +355,6 @@ class StepThreeBajajFDFragment : BaseFragment() { |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
@ -412,7 +423,7 @@ class StepThreeBajajFDFragment : BaseFragment() { |
|
|
lifecycleScope.launchWhenStarted { |
|
|
lifecycleScope.launchWhenStarted { |
|
|
getTmpFileUri().let { uri -> |
|
|
getTmpFileUri().let { uri -> |
|
|
latestTmpUri = uri |
|
|
latestTmpUri = uri |
|
|
takeImageResult.launch(uri) |
|
|
|
|
|
|
|
|
takeImageResult?.launch(uri) |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
@ -438,6 +449,6 @@ class StepThreeBajajFDFragment : BaseFragment() { |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
fun displayReceivedData(createFDApplicationResponse: CreateFDApplicationResponse) { |
|
|
fun displayReceivedData(createFDApplicationResponse: CreateFDApplicationResponse) { |
|
|
uniqueId = createFDApplicationResponse.Response.FDCreationDetailsResponse.UniqueId |
|
|
|
|
|
|
|
|
uniqueId = createFDApplicationResponse.Response.FDCreationDetailsResponse.UniqueId |
|
|
} |
|
|
} |
|
|
} |
|
|
} |