Browse Source

added manoj's code

PankajBranch
Hemant Khadase 2 years ago
parent
commit
f8d58f7d6a
3 changed files with 81 additions and 88 deletions
  1. +6
    -5
      app/src/main/java/com/nivesh/production/bajajfd/adapter/BankListAdapter.kt
  2. +73
    -79
      app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepThreeBajajFDFragment.kt
  3. +2
    -4
      app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepTwoBajajFDFragment.kt

+ 6
- 5
app/src/main/java/com/nivesh/production/bajajfd/adapter/BankListAdapter.kt View File

@ -7,13 +7,12 @@ import android.widget.ImageView
import android.widget.TextView import android.widget.TextView
import androidx.recyclerview.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView
import com.nivesh.production.bajajfd.R import com.nivesh.production.bajajfd.R
import com.nivesh.production.bajajfd.model.BankList
import com.nivesh.production.bajajfd.model.ClientBanklist import com.nivesh.production.bajajfd.model.ClientBanklist
class BankListAdapter( class BankListAdapter(
private val bankList: List<ClientBanklist>?, private val bankList: List<ClientBanklist>?,
private val selectedAccount: String? = null, private val selectedAccount: String? = null,
private val width:Double?
private val width: Double?
) : RecyclerView.Adapter<BankListAdapter.BankListViewHolder>() { ) : RecyclerView.Adapter<BankListAdapter.BankListViewHolder>() {
inner class BankListViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) { inner class BankListViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
val bankSelector: ImageView = itemView.findViewById(R.id.bankSelector) val bankSelector: ImageView = itemView.findViewById(R.id.bankSelector)
@ -21,21 +20,23 @@ class BankListAdapter(
val tvBankAccountNumber: TextView = itemView.findViewById(R.id.tvBankAccountNumber) val tvBankAccountNumber: TextView = itemView.findViewById(R.id.tvBankAccountNumber)
val tvBankIFSC: TextView = itemView.findViewById(R.id.tvBankIFSC) val tvBankIFSC: TextView = itemView.findViewById(R.id.tvBankIFSC)
} }
private var checkedPosition: Int = -2 private var checkedPosition: Int = -2
override fun onCreateViewHolder( override fun onCreateViewHolder(
parent: ViewGroup, parent: ViewGroup,
viewType: Int viewType: Int
): BankListViewHolder { ): BankListViewHolder {
val view = LayoutInflater.from(parent.context).inflate(R.layout.item_bank_list_preview, parent, false);
val view = LayoutInflater.from(parent.context)
.inflate(R.layout.item_bank_list_preview, parent, false)
view.layoutParams = width?.div(1.35) view.layoutParams = width?.div(1.35)
?.let { ViewGroup.LayoutParams(it.toInt(),ViewGroup.LayoutParams.WRAP_CONTENT) }
?.let { ViewGroup.LayoutParams(it.toInt(), ViewGroup.LayoutParams.WRAP_CONTENT) }
return BankListViewHolder(view) return BankListViewHolder(view)
} }
override fun onBindViewHolder(holder: BankListViewHolder, position: Int) { override fun onBindViewHolder(holder: BankListViewHolder, position: Int) {
val bankList = bankList?.get(position) val bankList = bankList?.get(position)
if (bankList !=null) {
if (bankList != null) {
holder.itemView.apply { holder.itemView.apply {
holder.tvBankName.text = bankList.BankName holder.tvBankName.text = bankList.BankName
holder.tvBankIFSC.text = bankList.IFSCCode holder.tvBankIFSC.text = bankList.IFSCCode


+ 73
- 79
app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepThreeBajajFDFragment.kt View File

@ -47,9 +47,6 @@ class StepThreeBajajFDFragment : BaseFragment() {
private var latestTmpUri: Uri? = null private var latestTmpUri: Uri? = null
private var _binding: FragmentBajajfdStepThreeBinding? = null private var _binding: FragmentBajajfdStepThreeBinding? = null
private val binding get() = _binding!! private val binding get() = _binding!!
private lateinit var listOfDocType: List<GetCodes>
private var docValue: String = ""
private lateinit var stepThreeBajajFDViewModel: StepThreeBajajFDViewModel private lateinit var stepThreeBajajFDViewModel: StepThreeBajajFDViewModel
private lateinit var dialog: Dialog private lateinit var dialog: Dialog
@ -65,12 +62,16 @@ class StepThreeBajajFDFragment : BaseFragment() {
private var doc1FileExt: String? = "" private var doc1FileExt: String? = ""
private var doc2fileExt: String? = "" private var doc2fileExt: String? = ""
private var uniqueId: String? = "" private var uniqueId: String? = ""
private val MAIN_PAN_UPLOAD: Int = 1
private val MAIN_PHOTO_UPLOAD: Int = 2
private val FIRST_UPLOAD: Int = 3
private val SECOND_UPLOAD: Int = 4
private var docValue: String = ""
private val mainPANUpload: Int = 1
private val mainPhotoUpload: Int = 2
private val firstDocUpload: Int = 3
private val secondDocUpload: Int = 4
private var actionType: Int = -1 private var actionType: Int = -1
private val mapImage: HashMap<String, String> = HashMap()
private lateinit var listOfDocType: List<GetCodes>
private val requestPermission = registerForActivityResult( private val requestPermission = registerForActivityResult(
ActivityResultContracts.RequestPermission() ActivityResultContracts.RequestPermission()
) { isGranted: Boolean -> ) { isGranted: Boolean ->
@ -101,7 +102,7 @@ class StepThreeBajajFDFragment : BaseFragment() {
{ uri: Uri? -> { uri: Uri? ->
if (uri != null) { if (uri != null) {
bitmap = uriToBitmap(uri) bitmap = uriToBitmap(uri)
uploadDocument(uri,"g")
uploadDocument(uri, "g")
} }
} }
@ -109,48 +110,63 @@ class StepThreeBajajFDFragment : BaseFragment() {
registerForActivityResult(ActivityResultContracts.TakePicture()) { isSuccess -> registerForActivityResult(ActivityResultContracts.TakePicture()) { isSuccess ->
if (isSuccess) { if (isSuccess) {
latestTmpUri?.let { uri -> latestTmpUri?.let { uri ->
uploadDocument(uri,"c")
uploadDocument(uri, "c")
} }
} }
} }
binding.btnNext.setOnClickListener { binding.btnNext.setOnClickListener {
// if (validate()) {
// uploadDocApi(
// "PAN",
// "data:image/".plus(panFileExt).plus(";base64, ").plus(panString),
// 1
// )
// }
createFDApi((activity as BajajFdMainActivity).createFDRequest)
if (validate()) {
if (panString.isNotEmpty()) {
mapImage["PAN"] = "data:image/".plus(panFileExt)
.plus(";base64, ").plus(panString)
}
if (photoString.isNotEmpty()) {
mapImage["Photograph"] = "data:image/".plus(photoFileExt)
.plus(";base64, ").plus(photoString)
}
if (docString.isNotEmpty()) {
mapImage["docValue"] = "data:image/".plus(doc1FileExt)
.plus(";base64, ").plus(docString)
}
if (docString2.isNotEmpty()) {
mapImage["Aadhar"] = "data:image/".plus(doc2fileExt)
.plus(";base64, ").plus(docString2)
}
var uploadPosition = 0
for (entry in mapImage.iterator()) {
uploadPosition++
uploadDocApi(entry.key, entry.value, uploadPosition)
}
}
} }
binding.btnBack.setOnClickListener { binding.btnBack.setOnClickListener {
(activity as BajajFdMainActivity).binding.viewPager.currentItem = 1 (activity as BajajFdMainActivity).binding.viewPager.currentItem = 1
} }
binding.btnPANUpload.setOnClickListener { binding.btnPANUpload.setOnClickListener {
actionType = MAIN_PAN_UPLOAD
actionType = mainPANUpload
selectImage() selectImage()
} }
binding.btnPhotoUpload.setOnClickListener { binding.btnPhotoUpload.setOnClickListener {
actionType = MAIN_PHOTO_UPLOAD
actionType = mainPhotoUpload
selectImage() selectImage()
} }
binding.btnAadhaarFrontUpload.setOnClickListener { binding.btnAadhaarFrontUpload.setOnClickListener {
actionType = FIRST_UPLOAD
actionType = firstDocUpload
selectImage() selectImage()
} }
binding.btnAadhaarBackUpload.setOnClickListener { binding.btnAadhaarBackUpload.setOnClickListener {
actionType = SECOND_UPLOAD
actionType = secondDocUpload
selectImage() selectImage()
} }
binding.spDocType.onItemClickListener = binding.spDocType.onItemClickListener =
AdapterView.OnItemClickListener { parent, _, position, _ -> AdapterView.OnItemClickListener { parent, _, position, _ ->
val getCodes : GetCodes = parent.getItemAtPosition(position) as GetCodes
val getCodes: GetCodes = parent.getItemAtPosition(position) as GetCodes
docValue = getCodes.Value docValue = getCodes.Value
docString = "" docString = ""
docString2 = "" docString2 = ""
@ -252,47 +268,47 @@ class StepThreeBajajFDFragment : BaseFragment() {
binding.btnAadhaarFrontUpload.visibility = View.VISIBLE binding.btnAadhaarFrontUpload.visibility = View.VISIBLE
} }
private fun uploadDocument(uri: Uri,type: String) {
private fun uploadDocument(uri: Uri, type: String) {
when (actionType) { when (actionType) {
MAIN_PAN_UPLOAD -> {
mainPANUpload -> {
binding.ivPan.visibility = View.VISIBLE binding.ivPan.visibility = View.VISIBLE
val fileDir: File = requireActivity().cacheDir val fileDir: File = requireActivity().cacheDir
val fileExtension = File(fileDir.toString().plus("/").plus(getFileName(uri))) val fileExtension = File(fileDir.toString().plus("/").plus(getFileName(uri)))
panFileExt = getFileExtension(getFileName(uri)) panFileExt = getFileExtension(getFileName(uri))
val size : Double = Common.getFileSizeInMB(fileExtension.length())
if (size < 5){
if(type == "c") encodedPANBase64(fileExtension)
val size: Double = Common.getFileSizeInMB(fileExtension.length())
if (size < 5) {
if (type == "c") encodedPANBase64(fileExtension)
else panString = bitmap?.let { ImageUtil.convert(it) }.toString() else panString = bitmap?.let { ImageUtil.convert(it) }.toString()
} else{
} else {
panString = "" panString = ""
panFileExt = "" panFileExt = ""
} }
} }
MAIN_PHOTO_UPLOAD -> {
mainPhotoUpload -> {
binding.ivPhotograph.visibility = View.VISIBLE binding.ivPhotograph.visibility = View.VISIBLE
binding.ivPan.visibility = View.VISIBLE binding.ivPan.visibility = View.VISIBLE
val fileDir: File = requireActivity().cacheDir val fileDir: File = requireActivity().cacheDir
val fileExtension = File(fileDir.toString().plus("/").plus(getFileName(uri))) val fileExtension = File(fileDir.toString().plus("/").plus(getFileName(uri)))
photoFileExt = getFileExtension(getFileName(uri)) photoFileExt = getFileExtension(getFileName(uri))
val size : Double = Common.getFileSizeInMB(fileExtension.length())
val size: Double = Common.getFileSizeInMB(fileExtension.length())
if (size < 5) { if (size < 5) {
if (type == "c") encodedPhotoBase64(fileExtension) if (type == "c") encodedPhotoBase64(fileExtension)
else photoString = bitmap?.let { ImageUtil.convert(it) }.toString() else photoString = bitmap?.let { ImageUtil.convert(it) }.toString()
}else{
} else {
photoString = "" photoString = ""
photoFileExt = "" photoFileExt = ""
} }
} }
FIRST_UPLOAD -> {
firstDocUpload -> {
binding.ivAadharFront.visibility = View.VISIBLE binding.ivAadharFront.visibility = View.VISIBLE
val fileDir: File = requireActivity().cacheDir val fileDir: File = requireActivity().cacheDir
val fileExtension = File(fileDir.toString().plus("/").plus(getFileName(uri))) val fileExtension = File(fileDir.toString().plus("/").plus(getFileName(uri)))
doc1FileExt = getFileExtension(getFileName(uri)) doc1FileExt = getFileExtension(getFileName(uri))
val size : Double = Common.getFileSizeInMB(fileExtension.length())
val size: Double = Common.getFileSizeInMB(fileExtension.length())
if (size < 5) { if (size < 5) {
if (type == "c") encodedUpload1Base64(fileExtension) if (type == "c") encodedUpload1Base64(fileExtension)
else docString = bitmap?.let { ImageUtil.convert(it) }.toString() else docString = bitmap?.let { ImageUtil.convert(it) }.toString()
}else{
} else {
docString = "" docString = ""
doc1FileExt = "" doc1FileExt = ""
} }
@ -302,11 +318,11 @@ class StepThreeBajajFDFragment : BaseFragment() {
val fileDir: File = requireActivity().cacheDir val fileDir: File = requireActivity().cacheDir
val fileExtension = File(fileDir.toString().plus("/").plus(getFileName(uri))) val fileExtension = File(fileDir.toString().plus("/").plus(getFileName(uri)))
doc2fileExt = getFileExtension(getFileName(uri)) doc2fileExt = getFileExtension(getFileName(uri))
val size : Double = Common.getFileSizeInMB(fileExtension.length())
val size: Double = Common.getFileSizeInMB(fileExtension.length())
if (size < 5) { if (size < 5) {
if (type == "c") encodedFileToBase64(fileExtension) if (type == "c") encodedFileToBase64(fileExtension)
else docString2 = bitmap?.let { ImageUtil.convert(it) }.toString() else docString2 = bitmap?.let { ImageUtil.convert(it) }.toString()
}else{
} else {
docString2 = "" docString2 = ""
doc2fileExt = "" doc2fileExt = ""
} }
@ -314,12 +330,11 @@ class StepThreeBajajFDFragment : BaseFragment() {
} }
} }
private fun encodedPANBase64(fileName: File) { private fun encodedPANBase64(fileName: File) {
panString = try { panString = try {
val bytes: ByteArray = loadFile(fileName) val bytes: ByteArray = loadFile(fileName)
Base64.encodeToString(bytes, Base64.DEFAULT).trim().replace("\n", "").replace("\\s+", "")
Base64.encodeToString(bytes, Base64.DEFAULT).trim().replace("\n", "")
.replace("\\s+", "")
} catch (e: Exception) { } catch (e: Exception) {
e.printStackTrace() e.printStackTrace()
"" ""
@ -329,7 +344,8 @@ class StepThreeBajajFDFragment : BaseFragment() {
private fun encodedPhotoBase64(fileName: File) { private fun encodedPhotoBase64(fileName: File) {
photoString = try { photoString = try {
val bytes: ByteArray = loadFile(fileName) val bytes: ByteArray = loadFile(fileName)
Base64.encodeToString(bytes, Base64.DEFAULT).trim().replace("\n", "").replace("\\s+", "")
Base64.encodeToString(bytes, Base64.DEFAULT).trim().replace("\n", "")
.replace("\\s+", "")
} catch (e: Exception) { } catch (e: Exception) {
e.printStackTrace() e.printStackTrace()
"" ""
@ -339,7 +355,8 @@ class StepThreeBajajFDFragment : BaseFragment() {
private fun encodedUpload1Base64(fileName: File) { private fun encodedUpload1Base64(fileName: File) {
docString = try { docString = try {
val bytes: ByteArray = loadFile(fileName) val bytes: ByteArray = loadFile(fileName)
Base64.encodeToString(bytes, Base64.DEFAULT).trim().replace("\n", "").replace("\\s+", "")
Base64.encodeToString(bytes, Base64.DEFAULT).trim().replace("\n", "")
.replace("\\s+", "")
} catch (e: Exception) { } catch (e: Exception) {
e.printStackTrace() e.printStackTrace()
"" ""
@ -349,7 +366,8 @@ class StepThreeBajajFDFragment : BaseFragment() {
private fun encodedFileToBase64(fileName: File) { private fun encodedFileToBase64(fileName: File) {
docString2 = try { docString2 = try {
val bytes: ByteArray = loadFile(fileName) val bytes: ByteArray = loadFile(fileName)
Base64.encodeToString(bytes, Base64.DEFAULT).trim().replace("\n", "").replace("\\s+", "")
Base64.encodeToString(bytes, Base64.DEFAULT).trim().replace("\n", "")
.replace("\\s+", "")
} catch (e: Exception) { } catch (e: Exception) {
e.printStackTrace() e.printStackTrace()
"" ""
@ -399,36 +417,15 @@ class StepThreeBajajFDFragment : BaseFragment() {
when (code) { when (code) {
200 -> { 200 -> {
Log.e("check_upload_res", response.message.toString()) Log.e("check_upload_res", response.message.toString())
if (uploadPosition == 1) {
uploadDocApi(
"Photograph",
"data:image/".plus(photoFileExt).plus(";base64, ")
.plus(photoString),
2
)
} else if (uploadPosition == 2) {
uploadDocApi(
docValue,
"data:image/".plus(doc1FileExt).plus(";base64, ")
.plus(docString),
3
)
} else if (uploadPosition == 3) {
if (docValue == "Aadhar") {
uploadDocApi(
docValue,
"data:image/".plus(doc2fileExt).plus(";base64, ")
.plus(docString2),
4
)
} else {
createFDApi((activity as BajajFdMainActivity).createFDRequest)
}
} else if (uploadPosition == 4) {
if (uploadPosition == mapImage.size) {
Toast.makeText(
requireActivity(),
"Documents Uploaded Successfully",
Toast.LENGTH_SHORT
).show()
createFDApi((activity as BajajFdMainActivity).createFDRequest) createFDApi((activity as BajajFdMainActivity).createFDRequest)
} }
} }
// 650 -> refreshToken() // 650 -> refreshToken()
else -> { else -> {
Common.showDialogValidation( Common.showDialogValidation(
@ -503,9 +500,7 @@ class StepThreeBajajFDFragment : BaseFragment() {
} }
} }
private fun docTypeApi() { private fun docTypeApi() {
val getCodeRequest = GetCodeRequest() val getCodeRequest = GetCodeRequest()
getCodeRequest.ProductName = getString(R.string.bajajFD) getCodeRequest.ProductName = getString(R.string.bajajFD)
getCodeRequest.Category = getString(R.string.docType) getCodeRequest.Category = getString(R.string.docType)
@ -569,7 +564,6 @@ class StepThreeBajajFDFragment : BaseFragment() {
} }
} }
private fun validate(): Boolean { private fun validate(): Boolean {
if (panString.isEmpty()) { if (panString.isEmpty()) {
Common.showDialogValidation( Common.showDialogValidation(
@ -622,19 +616,14 @@ class StepThreeBajajFDFragment : BaseFragment() {
) )
} }
override fun onDestroyView() {
super.onDestroyView()
_binding = null
}
fun displayReceivedData(createFDApplicationResponse: CreateFDApplicationResponse) { fun displayReceivedData(createFDApplicationResponse: CreateFDApplicationResponse) {
uniqueId = createFDApplicationResponse.Response.FDCreationDetailsResponse.UniqueId uniqueId = createFDApplicationResponse.Response.FDCreationDetailsResponse.UniqueId
} }
private fun uriToBitmap(selectedFileUri: Uri): Bitmap? { private fun uriToBitmap(selectedFileUri: Uri): Bitmap? {
try { try {
val parcelFileDescriptor = requireActivity().contentResolver.openFileDescriptor(selectedFileUri, "r")
val parcelFileDescriptor =
requireActivity().contentResolver.openFileDescriptor(selectedFileUri, "r")
val fileDescriptor: FileDescriptor = parcelFileDescriptor!!.fileDescriptor val fileDescriptor: FileDescriptor = parcelFileDescriptor!!.fileDescriptor
val image = BitmapFactory.decodeFileDescriptor(fileDescriptor) val image = BitmapFactory.decodeFileDescriptor(fileDescriptor)
parcelFileDescriptor.close() parcelFileDescriptor.close()
@ -644,4 +633,9 @@ class StepThreeBajajFDFragment : BaseFragment() {
} }
return null return null
} }
override fun onDestroyView() {
super.onDestroyView()
_binding = null
}
} }

+ 2
- 4
app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepTwoBajajFDFragment.kt View File

@ -550,11 +550,9 @@ class StepTwoBajajFDFragment : BaseFragment() {
binding.addBankDetail.setOnClickListener { binding.addBankDetail.setOnClickListener {
if (bankListAdapter.itemCount == 5) { if (bankListAdapter.itemCount == 5) {
showDialogValidation(mActivity, "You Can Not Add More Than Five Account")
showDialogValidation(mActivity, "You can not add more than five accounts")
} else { } else {
binding.llBankDetails.visibility = View.GONE
binding.addBankDetail.setCompoundDrawablesWithIntrinsicBounds(0,0,R.drawable.ic_add_icon,0)
showHideBankDetail()
showHideBankDetail()
} }
} }


Loading…
Cancel
Save

Powered by TurnKey Linux.