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 androidx.recyclerview.widget.RecyclerView
import com.nivesh.production.bajajfd.R
import com.nivesh.production.bajajfd.model.BankList
import com.nivesh.production.bajajfd.model.ClientBanklist
class BankListAdapter(
private val bankList: List<ClientBanklist>?,
private val selectedAccount: String? = null,
private val width:Double?
private val width: Double?
) : RecyclerView.Adapter<BankListAdapter.BankListViewHolder>() {
inner class BankListViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
val bankSelector: ImageView = itemView.findViewById(R.id.bankSelector)
@ -21,21 +20,23 @@ class BankListAdapter(
val tvBankAccountNumber: TextView = itemView.findViewById(R.id.tvBankAccountNumber)
val tvBankIFSC: TextView = itemView.findViewById(R.id.tvBankIFSC)
}
private var checkedPosition: Int = -2
override fun onCreateViewHolder(
parent: ViewGroup,
viewType: Int
): 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)
?.let { ViewGroup.LayoutParams(it.toInt(),ViewGroup.LayoutParams.WRAP_CONTENT) }
?.let { ViewGroup.LayoutParams(it.toInt(), ViewGroup.LayoutParams.WRAP_CONTENT) }
return BankListViewHolder(view)
}
override fun onBindViewHolder(holder: BankListViewHolder, position: Int) {
val bankList = bankList?.get(position)
if (bankList !=null) {
if (bankList != null) {
holder.itemView.apply {
holder.tvBankName.text = bankList.BankName
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 _binding: FragmentBajajfdStepThreeBinding? = null
private val binding get() = _binding!!
private lateinit var listOfDocType: List<GetCodes>
private var docValue: String = ""
private lateinit var stepThreeBajajFDViewModel: StepThreeBajajFDViewModel
private lateinit var dialog: Dialog
@ -65,12 +62,16 @@ class StepThreeBajajFDFragment : BaseFragment() {
private var doc1FileExt: String? = ""
private var doc2fileExt: 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 val mapImage: HashMap<String, String> = HashMap()
private lateinit var listOfDocType: List<GetCodes>
private val requestPermission = registerForActivityResult(
ActivityResultContracts.RequestPermission()
) { isGranted: Boolean ->
@ -101,7 +102,7 @@ class StepThreeBajajFDFragment : BaseFragment() {
{ uri: Uri? ->
if (uri != null) {
bitmap = uriToBitmap(uri)
uploadDocument(uri,"g")
uploadDocument(uri, "g")
}
}
@ -109,48 +110,63 @@ class StepThreeBajajFDFragment : BaseFragment() {
registerForActivityResult(ActivityResultContracts.TakePicture()) { isSuccess ->
if (isSuccess) {
latestTmpUri?.let { uri ->
uploadDocument(uri,"c")
uploadDocument(uri, "c")
}
}
}
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 {
(activity as BajajFdMainActivity).binding.viewPager.currentItem = 1
}
binding.btnPANUpload.setOnClickListener {
actionType = MAIN_PAN_UPLOAD
actionType = mainPANUpload
selectImage()
}
binding.btnPhotoUpload.setOnClickListener {
actionType = MAIN_PHOTO_UPLOAD
actionType = mainPhotoUpload
selectImage()
}
binding.btnAadhaarFrontUpload.setOnClickListener {
actionType = FIRST_UPLOAD
actionType = firstDocUpload
selectImage()
}
binding.btnAadhaarBackUpload.setOnClickListener {
actionType = SECOND_UPLOAD
actionType = secondDocUpload
selectImage()
}
binding.spDocType.onItemClickListener =
AdapterView.OnItemClickListener { parent, _, position, _ ->
val getCodes : GetCodes = parent.getItemAtPosition(position) as GetCodes
val getCodes: GetCodes = parent.getItemAtPosition(position) as GetCodes
docValue = getCodes.Value
docString = ""
docString2 = ""
@ -252,47 +268,47 @@ class StepThreeBajajFDFragment : BaseFragment() {
binding.btnAadhaarFrontUpload.visibility = View.VISIBLE
}
private fun uploadDocument(uri: Uri,type: String) {
private fun uploadDocument(uri: Uri, type: String) {
when (actionType) {
MAIN_PAN_UPLOAD -> {
mainPANUpload -> {
binding.ivPan.visibility = View.VISIBLE
val fileDir: File = requireActivity().cacheDir
val fileExtension = File(fileDir.toString().plus("/").plus(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{
} else {
panString = ""
panFileExt = ""
}
}
MAIN_PHOTO_UPLOAD -> {
mainPhotoUpload -> {
binding.ivPhotograph.visibility = View.VISIBLE
binding.ivPan.visibility = View.VISIBLE
val fileDir: File = requireActivity().cacheDir
val fileExtension = File(fileDir.toString().plus("/").plus(getFileName(uri)))
photoFileExt = getFileExtension(getFileName(uri))
val size : Double = Common.getFileSizeInMB(fileExtension.length())
val size: Double = Common.getFileSizeInMB(fileExtension.length())
if (size < 5) {
if (type == "c") encodedPhotoBase64(fileExtension)
else photoString = bitmap?.let { ImageUtil.convert(it) }.toString()
}else{
} else {
photoString = ""
photoFileExt = ""
}
}
FIRST_UPLOAD -> {
firstDocUpload -> {
binding.ivAadharFront.visibility = View.VISIBLE
val fileDir: File = requireActivity().cacheDir
val fileExtension = File(fileDir.toString().plus("/").plus(getFileName(uri)))
doc1FileExt = getFileExtension(getFileName(uri))
val size : Double = Common.getFileSizeInMB(fileExtension.length())
val size: Double = Common.getFileSizeInMB(fileExtension.length())
if (size < 5) {
if (type == "c") encodedUpload1Base64(fileExtension)
else docString = bitmap?.let { ImageUtil.convert(it) }.toString()
}else{
} else {
docString = ""
doc1FileExt = ""
}
@ -302,11 +318,11 @@ class StepThreeBajajFDFragment : BaseFragment() {
val fileDir: File = requireActivity().cacheDir
val fileExtension = File(fileDir.toString().plus("/").plus(getFileName(uri)))
doc2fileExt = getFileExtension(getFileName(uri))
val size : Double = Common.getFileSizeInMB(fileExtension.length())
val size: Double = Common.getFileSizeInMB(fileExtension.length())
if (size < 5) {
if (type == "c") encodedFileToBase64(fileExtension)
else docString2 = bitmap?.let { ImageUtil.convert(it) }.toString()
}else{
} else {
docString2 = ""
doc2fileExt = ""
}
@ -314,12 +330,11 @@ class StepThreeBajajFDFragment : BaseFragment() {
}
}
private fun encodedPANBase64(fileName: File) {
panString = try {
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) {
e.printStackTrace()
""
@ -329,7 +344,8 @@ class StepThreeBajajFDFragment : BaseFragment() {
private fun encodedPhotoBase64(fileName: File) {
photoString = try {
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) {
e.printStackTrace()
""
@ -339,7 +355,8 @@ class StepThreeBajajFDFragment : BaseFragment() {
private fun encodedUpload1Base64(fileName: File) {
docString = try {
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) {
e.printStackTrace()
""
@ -349,7 +366,8 @@ class StepThreeBajajFDFragment : BaseFragment() {
private fun encodedFileToBase64(fileName: File) {
docString2 = try {
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) {
e.printStackTrace()
""
@ -399,36 +417,15 @@ class StepThreeBajajFDFragment : BaseFragment() {
when (code) {
200 -> {
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)
}
}
// 650 -> refreshToken()
else -> {
Common.showDialogValidation(
@ -503,9 +500,7 @@ class StepThreeBajajFDFragment : BaseFragment() {
}
}
private fun docTypeApi() {
val getCodeRequest = GetCodeRequest()
getCodeRequest.ProductName = getString(R.string.bajajFD)
getCodeRequest.Category = getString(R.string.docType)
@ -569,7 +564,6 @@ class StepThreeBajajFDFragment : BaseFragment() {
}
}
private fun validate(): Boolean {
if (panString.isEmpty()) {
Common.showDialogValidation(
@ -622,19 +616,14 @@ class StepThreeBajajFDFragment : BaseFragment() {
)
}
override fun onDestroyView() {
super.onDestroyView()
_binding = null
}
fun displayReceivedData(createFDApplicationResponse: CreateFDApplicationResponse) {
uniqueId = createFDApplicationResponse.Response.FDCreationDetailsResponse.UniqueId
}
private fun uriToBitmap(selectedFileUri: Uri): Bitmap? {
try {
val parcelFileDescriptor = requireActivity().contentResolver.openFileDescriptor(selectedFileUri, "r")
val parcelFileDescriptor =
requireActivity().contentResolver.openFileDescriptor(selectedFileUri, "r")
val fileDescriptor: FileDescriptor = parcelFileDescriptor!!.fileDescriptor
val image = BitmapFactory.decodeFileDescriptor(fileDescriptor)
parcelFileDescriptor.close()
@ -644,4 +633,9 @@ class StepThreeBajajFDFragment : BaseFragment() {
}
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 {
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 {
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.