Browse Source

Merge branch 'HemantBranch' of https://git.nivesh.com:443/hemant.khadase/BajajFDLib into ManojBranch

# Conflicts:
#	app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepThreeBajajFDFragment.kt
PankajBranch
Manoj 2 years ago
parent
commit
298021edf4
13 changed files with 308 additions and 197 deletions
  1. +6
    -0
      app/src/main/java/com/nivesh/production/bajajfd/adapter/PaymentModeAdapter.kt
  2. +11
    -5
      app/src/main/java/com/nivesh/production/bajajfd/interfaces/ApiInterface.kt
  3. +10
    -0
      app/src/main/java/com/nivesh/production/bajajfd/model/BankValidationApiRequest.kt
  4. +8
    -0
      app/src/main/java/com/nivesh/production/bajajfd/model/BankValidationApiResponse.kt
  5. +7
    -0
      app/src/main/java/com/nivesh/production/bajajfd/model/ResponseXXXXXXXXXXXXXX.kt
  6. +5
    -2
      app/src/main/java/com/nivesh/production/bajajfd/repositories/MainRepository.kt
  7. +176
    -106
      app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepThreeBajajFDFragment.kt
  8. +20
    -25
      app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepTwoBajajFDFragment.kt
  9. +5
    -5
      app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepTwoBajajFDViewModel.kt
  10. +20
    -21
      app/src/main/res/layout/fragment_bajajfd_step_five.xml
  11. +3
    -14
      app/src/main/res/layout/fragment_bajajfd_step_two.xml
  12. +35
    -19
      app/src/main/res/layout/item_payment_list_preview.xml
  13. +2
    -0
      app/src/main/res/values/dimens.xml

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

@ -16,6 +16,7 @@ class PaymentModeAdapter(
inner class BankListViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
val bankSelector: ImageView = itemView.findViewById(R.id.bankSelector)
val tvBankName: TextView = itemView.findViewById(R.id.tvBankName)
val tvUpiMsg: TextView = itemView.findViewById(R.id.tvUpiMsg)
}
private var checkedPosition: Int = -2
@ -39,6 +40,11 @@ class PaymentModeAdapter(
if (bankList != null) {
holder.itemView.apply {
holder.tvBankName.text = bankList.Value
if (bankList.Value.equals("UPI")){
holder.tvUpiMsg.text = context.getString(R.string.upto1LakhOnly)
}else{
holder.tvUpiMsg.text = ""
}
if (selectedAccount == bankList.Value && checkedPosition == -2
) {


+ 11
- 5
app/src/main/java/com/nivesh/production/bajajfd/interfaces/ApiInterface.kt View File

@ -93,7 +93,7 @@ interface ApiInterface {
@Header("token") token: String
): Response<JsonObject>
@POST("WebApi/api/GetClientDetailV2_S")
@POST("WebApi_Bajaj/api/GetClientDetailV2_S")
suspend fun getClientDetails(
@Body getClientDetailsRequest: getClientDetailsRequest,
@Header("token") token: String
@ -148,11 +148,11 @@ interface ApiInterface {
@GET("WebAPI_Bajaj/api/GetFDBankList?FDProvider=Bajaj")
suspend fun bankListApi(@Header("token") token: String): Response<JsonObject>
@GET("WebApi/api/GetIFSC_Autofill?prefix={prefix}")
suspend fun getIFSCApi(@Path("prefix") ifsc : String): Response<JsonObject>
@GET("WebApi/api/GetIFSC_Autofill?")
suspend fun getIFSCApi(@Query("prefix") ifsc : String): Response<JsonObject>
@GET("WebApi/api/GetBankDetailsFromIFSC?")
suspend fun getIFSCDetailsApi(@Query("ifsc") ifsc : String,@Header("token") token: String): Response<JsonObject>
@GET("WebApi_Bajaj/api/GetBankDetailsFromIFSC?")
suspend fun getIFSCDetailsApi(@Query("ifscCode") ifsc : String): Response<JsonObject>
@POST("WebApi_Bajaj/api/GetCodes")
suspend fun payModeApi(
@ -160,4 +160,10 @@ interface ApiInterface {
@Header("token") token: String
): Response<JsonObject>
@POST("WebApi_Bajaj/api/BankValidationAPI_S")
suspend fun bankValidationApi(
@Body bankValidationApiRequest: BankValidationApiRequest,
@Header("token") token: String
): Response<JsonObject>
}

+ 10
- 0
app/src/main/java/com/nivesh/production/bajajfd/model/BankValidationApiRequest.kt View File

@ -0,0 +1,10 @@
package com.nivesh.production.bajajfd.model
data class BankValidationApiRequest(
var BankAccountNo: String?="",
val BankNo: Int?= 0,
val IFSC: String?= "",
val Name: String? = "",
val PhoneNo: String? = "",
val RoleId: Int? = 0
)

+ 8
- 0
app/src/main/java/com/nivesh/production/bajajfd/model/BankValidationApiResponse.kt View File

@ -0,0 +1,8 @@
package com.nivesh.production.bajajfd.model
data class BankValidationApiResponse(
val DataObject: Any,
val Message: String,
val ObjectResponse: Any,
val response: ResponseXXXXXXXXXXXXXX
)

+ 7
- 0
app/src/main/java/com/nivesh/production/bajajfd/model/ResponseXXXXXXXXXXXXXX.kt View File

@ -0,0 +1,7 @@
package com.nivesh.production.bajajfd.model
data class ResponseXXXXXXXXXXXXXX(
val message: String,
val status: String,
val status_code: Int
)

+ 5
- 2
app/src/main/java/com/nivesh/production/bajajfd/repositories/MainRepository.kt View File

@ -80,8 +80,8 @@ class MainRepository constructor(private val apiInterface: ApiInterface) {
suspend fun ifscCodeCheck(str: String) =
apiInterface.getIFSCApi(str)
suspend fun ifscCodeDetailsCheck(str: String, token: String) =
apiInterface.getIFSCDetailsApi(str, token)
suspend fun ifscCodeDetailsCheck(str: String) =
apiInterface.getIFSCDetailsApi(str)
suspend fun payModeCheck(getCodeRequest: GetCodeRequest, token: String) =
apiInterface.payModeApi(getCodeRequest, token)
@ -89,4 +89,7 @@ class MainRepository constructor(private val apiInterface: ApiInterface) {
suspend fun checkFDKYCRequest(checkFDKYCRequest: CheckFDKYCRequest, token: String) =
apiInterface.checkFDKYC(checkFDKYCRequest, token)
suspend fun bankValidationApiRequest(bankValidationApiRequest: BankValidationApiRequest, token: String) =
apiInterface.bankValidationApi(bankValidationApiRequest, token)
}

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

@ -45,25 +45,36 @@ class StepThreeBajajFDFragment : BaseFragment() {
private var _binding: FragmentBajajfdStepThreeBinding? = null
private val binding get() = _binding!!
private lateinit var listOfDocType: List<GetCodes>
lateinit var getCodes: GetCodes
private lateinit var stepThreeBajajFDViewModel: StepThreeBajajFDViewModel
private lateinit var dialog: Dialog
private var takeImageResult: ActivityResultLauncher<Uri>? = null
private var selectImageIntent: ActivityResultLauncher<String>? = null
private val mapImage: HashMap<String, String> = HashMap()
private var front: String = ""
private var fileExt: String? = ""
private var panString: String = ""
private var photoString: String = ""
private var docString: String = ""
private var docString2: String = ""
private var panFileExt: String? = ""
private var photoFileExt: String? = ""
private var doc1FileExt: String? = ""
private var doc2fileExt: String? = ""
private var uniqueId: String? = ""
private var selectedImage: String? = ""
private var checkPANUploadFile: Boolean? = false
private var checkPhotoUploadFile: Boolean? = false
private var actionType: AccountCaptureType? = null
enum class AccountCaptureType {
MAIN_PAN_UPLOAD,MAIN_PHOTO_UPLOAD,FIRST_UPLOAD,SECOND_UPLOAD
}
// private var actionType: AccountCaptureType? = null
//
// enum class AccountCaptureType {
// MAIN_PAN_UPLOAD, MAIN_PHOTO_UPLOAD, FIRST_UPLOAD, SECOND_UPLOAD
// }
val MAIN_PAN_UPLOAD: Int = 1
val MAIN_PHOTO_UPLOAD: Int = 2
val FIRST_UPLOAD: Int = 3
val SECOND_UPLOAD: Int = 4
var actionType: Int = -1
private val requestPermission = registerForActivityResult(
ActivityResultContracts.RequestPermission()
@ -109,15 +120,11 @@ class StepThreeBajajFDFragment : BaseFragment() {
binding.btnNext.setOnClickListener {
if (validate()) {
var uploadPosition = 0
for (entry in mapImage.iterator()) {
uploadPosition++
if (entry.key.contains("Main ")) {
uploadDocApi(entry.key.replace("Main ", ""), entry.value, uploadPosition)
} else {
uploadDocApi(entry.key, entry.value, uploadPosition)
}
}
uploadDocApi(
"PAN",
"data:image/.".plus(panFileExt).plus(";base64").plus(panString),
1
)
}
}
binding.btnBack.setOnClickListener {
@ -125,37 +132,30 @@ class StepThreeBajajFDFragment : BaseFragment() {
}
binding.btnPANUpload.setOnClickListener {
checkPANUploadFile = true
checkPhotoUploadFile = false
actionType = AccountCaptureType.MAIN_PAN_UPLOAD
selectImage("PAN")
actionType = MAIN_PAN_UPLOAD
selectImage()
}
binding.btnPhotoUpload.setOnClickListener {
checkPhotoUploadFile = true
checkPANUploadFile = false
actionType = AccountCaptureType.MAIN_PHOTO_UPLOAD
selectImage("Photograph")
actionType = MAIN_PHOTO_UPLOAD
selectImage()
}
binding.btnAadhaarFrontUpload.setOnClickListener {
checkPANUploadFile = false
checkPhotoUploadFile = false
actionType = AccountCaptureType.FIRST_UPLOAD
selectImage(binding.spDocType.text.toString())
actionType = FIRST_UPLOAD
selectImage()
}
binding.btnAadhaarBackUpload.setOnClickListener {
checkPANUploadFile = false
checkPhotoUploadFile = false
actionType = AccountCaptureType.SECOND_UPLOAD
selectImage(binding.spDocType.text.toString())
actionType = SECOND_UPLOAD
selectImage()
}
binding.spDocType.onItemClickListener =
AdapterView.OnItemClickListener { parent, _, position, _ ->
val getCodes: GetCodes = parent.getItemAtPosition(position) as GetCodes
getCodes = parent.getItemAtPosition(position) as GetCodes
docString = ""
docString2 = ""
when (getCodes.Label) {
resources.getString(R.string.aadhar) ->
setAadhaarUploadLayout()
@ -190,8 +190,7 @@ class StepThreeBajajFDFragment : BaseFragment() {
return result
}
private fun selectImage(fileType: String) {
selectedImage = fileType
private fun selectImage() {
dialog = Dialog(activity as BajajFdMainActivity)
dialog.setContentView(R.layout.camera_gallery_layout)
val ivCut: ImageView = dialog.findViewById(R.id.ivCut)
@ -256,27 +255,74 @@ class StepThreeBajajFDFragment : BaseFragment() {
}
private fun uploadDocument(uri: Uri) {
val fileDir: File = requireActivity().cacheDir
val fileExtension = File(fileDir.toString().plus("/").plus(getFileName(uri)))
fileExt = fileExtension.extension
encodedFileToBase64(fileExtension)
if (checkPANUploadFile == true || checkPhotoUploadFile == true) {
mapImage["Main ".plus(selectedImage)] = front
} else {
selectedImage?.let { mapImage.put(it, front) }
}
when(actionType){
AccountCaptureType.MAIN_PAN_UPLOAD -> binding.ivPan.visibility = View.VISIBLE
AccountCaptureType.MAIN_PHOTO_UPLOAD -> binding.ivPhotograph.visibility = View.VISIBLE
AccountCaptureType.FIRST_UPLOAD -> binding.ivAadharFront.visibility = View.VISIBLE
else ->{
when (actionType) {
MAIN_PAN_UPLOAD -> {
binding.ivPan.visibility = View.VISIBLE
val fileDir: File = requireActivity().cacheDir
val fileExtension = File(fileDir.toString().plus("/").plus(getFileName(uri)))
panFileExt = fileExtension.extension
encodedPANBase64(fileExtension)
}
MAIN_PHOTO_UPLOAD -> {
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 = fileExtension.extension
encodedPhotoBase64(fileExtension)
}
FIRST_UPLOAD -> {
binding.ivAadharFront.visibility = View.VISIBLE
val fileDir: File = requireActivity().cacheDir
val fileExtension = File(fileDir.toString().plus("/").plus(getFileName(uri)))
doc1FileExt = fileExtension.extension
encodedUpload1Base64(fileExtension)
}
else -> {
binding.ivAadharBack.visibility = View.VISIBLE
val fileDir: File = requireActivity().cacheDir
val fileExtension = File(fileDir.toString().plus("/").plus(getFileName(uri)))
doc2fileExt = fileExtension.extension
encodedFileToBase64(fileExtension)
}
}
}
private fun encodedPANBase64(fileName: File?) {
panString = try {
val bytes: ByteArray? = fileName?.let { loadFile(it) }
Base64.encodeToString(bytes, Base64.DEFAULT).trim { it <= ' ' }
.replace("\n".toRegex(), "").replace("\\s+".toRegex(), "")
} catch (e: Exception) {
e.printStackTrace()
""
}
}
private fun encodedPhotoBase64(fileName: File?) {
photoString = try {
val bytes: ByteArray? = fileName?.let { loadFile(it) }
Base64.encodeToString(bytes, Base64.DEFAULT).trim { it <= ' ' }
.replace("\n".toRegex(), "").replace("\\s+".toRegex(), "")
} catch (e: Exception) {
e.printStackTrace()
""
}
}
private fun encodedUpload1Base64(fileName: File?) {
docString = try {
val bytes: ByteArray? = fileName?.let { loadFile(it) }
Base64.encodeToString(bytes, Base64.DEFAULT).trim { it <= ' ' }
.replace("\n".toRegex(), "").replace("\\s+".toRegex(), "")
} catch (e: Exception) {
e.printStackTrace()
""
}
}
private fun encodedFileToBase64(fileName: File?) {
front = try {
docString2 = try {
val bytes: ByteArray? = fileName?.let { loadFile(it) }
Base64.encodeToString(bytes, Base64.DEFAULT).trim { it <= ' ' }
.replace("\n".toRegex(), "").replace("\\s+".toRegex(), "")
@ -310,8 +356,7 @@ class StepThreeBajajFDFragment : BaseFragment() {
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.ImageEncodeToBase64 = imageBase64
du.NiveshClientCode =
(activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_CODE
du.UniqueId = uniqueId
@ -330,17 +375,36 @@ class StepThreeBajajFDFragment : BaseFragment() {
when (code) {
200 -> {
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()
// bajajFDInterface.stepThreeApi((activity as BajajFdMainActivity).createFDRequest)
if (uploadPosition == 1) {
uploadDocApi(
"Photograph",
"data:image/.".plus(photoFileExt).plus(";base64")
.plus(photoString),
2
)
} else if (uploadPosition == 2) {
uploadDocApi(
getCodes.Value,
"data:image/.".plus(doc1FileExt).plus(";base64")
.plus(docString),
3
)
} else if (uploadPosition == 3) {
if (getCodes.Value == "Aadhar") {
uploadDocApi(
getCodes.Value,
"data:image/.".plus(doc2fileExt).plus(";base64")
.plus(docString2),
4
)
} else {
createFDApi((activity as BajajFdMainActivity).createFDRequest)
}
} else if (uploadPosition == 4) {
createFDApi((activity as BajajFdMainActivity).createFDRequest)
}
}
// 650 -> refreshToken()
else -> {
Common.showDialogValidation(
@ -368,51 +432,51 @@ class StepThreeBajajFDFragment : BaseFragment() {
}
private fun createFDApi(data: CreateFDRequest) {
stepThreeBajajFDViewModel.createFDApi(
data,
Constants.token,
activity as BajajFdMainActivity
)
stepThreeBajajFDViewModel.getFDResponseMutableData.observe(viewLifecycleOwner) { response ->
when (response) {
is Resource.Success -> {
Log.e("createFDApi", "response--> " + response.data.toString())
val createFDApplicationResponse: CreateFDApplicationResponse =
Gson().fromJson(
response.data?.toString(),
CreateFDApplicationResponse::class.java
)
createFDApplicationResponse.Response.StatusCode.let { code ->
when (code) {
200 -> {
(activity as BajajFdMainActivity).stepThreeApi(
createFDApplicationResponse
)
}
// 650 -> refreshToken()
else -> {
Common.showDialogValidation(
activity as BajajFdMainActivity,
createFDApplicationResponse.Response.Errors[0].ErrorMessage
)
}
stepThreeBajajFDViewModel.createFDApi(
data,
Constants.token,
activity as BajajFdMainActivity
)
stepThreeBajajFDViewModel.getFDResponseMutableData.observe(viewLifecycleOwner) { response ->
when (response) {
is Resource.Success -> {
Log.e("createFDApi", "response--> " + response.data.toString())
val createFDApplicationResponse: CreateFDApplicationResponse =
Gson().fromJson(
response.data?.toString(),
CreateFDApplicationResponse::class.java
)
createFDApplicationResponse.Response.StatusCode.let { code ->
when (code) {
200 -> {
(activity as BajajFdMainActivity).stepThreeApi(
createFDApplicationResponse
)
}
// 650 -> refreshToken()
else -> {
Common.showDialogValidation(
activity as BajajFdMainActivity,
createFDApplicationResponse.Response.Errors[0].ErrorMessage
)
}
}
}
}
is Resource.Error -> {
response.message?.let { message ->
Common.showDialogValidation(activity as BajajFdMainActivity, message)
}
is Resource.Error -> {
response.message?.let { message ->
Common.showDialogValidation(activity as BajajFdMainActivity, message)
}
is Resource.Loading -> {
}
is Resource.Loading -> {
}
is Resource.DataError -> {
}
is Resource.DataError -> {
}
}
}
}
}
@ -481,22 +545,28 @@ class StepThreeBajajFDFragment : BaseFragment() {
private fun validate(): Boolean {
if ((binding.spDocType.text.toString() == getString(R.string.aadhar)) && mapImage.size < 3) {
if (panString.isEmpty()) {
Common.showDialogValidation(
activity as BajajFdMainActivity,
"Upload PAN Document"
)
return false
} else if (photoString.isEmpty()) {
Common.showDialogValidation(
activity as BajajFdMainActivity,
"Upload Aadhaar Images"
"Upload Photo"
)
return false
} else if ((binding.spDocType.text.toString() == getString(R.string.aadhar)) && mapImage.size == 3) {
} else if (docString.isEmpty()) {
Common.showDialogValidation(
activity as BajajFdMainActivity,
"Upload Aadhaar Images"
"Upload " + getCodes.Value + " Image"
)
return false
} else if (mapImage.size < 3) {
} else if (getCodes.Value == "Aadhar" && docString2.isEmpty()) {
Common.showDialogValidation(
activity as BajajFdMainActivity,
"Upload All Images"
"Upload Aadhar Back Image"
)
return false
}


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

@ -17,6 +17,7 @@ import android.widget.RadioButton
import android.widget.TextView
import androidx.core.content.ContextCompat
import androidx.lifecycle.ViewModelProvider
import androidx.recyclerview.widget.GridLayoutManager
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
import com.google.android.material.textfield.TextInputEditText
@ -764,9 +765,9 @@ class StepTwoBajajFDFragment : BaseFragment() {
private fun ifscCodeCheckApi(ifsc: String) {
if (ifsc.length == 11) {
if (ifsc.length >8) {
stepTwoBajajFDViewModel.ifscCodeApi(ifsc, activity as BajajFdMainActivity)
stepTwoBajajFDViewModel.getifscCodeCheckMutableData.observe(viewLifecycleOwner) { response ->
stepTwoBajajFDViewModel.getIfscCodeCheckMutableData.observe(viewLifecycleOwner) { response ->
when (response) {
is Resource.Success -> {
val getIFSCCodeListResponse =
@ -788,15 +789,23 @@ class StepTwoBajajFDFragment : BaseFragment() {
listOfIFSC
)
binding.edtIFSC.setAdapter(adapter)
}
binding.edtIFSC.setOnItemClickListener { _, _, position, _ ->
if (listOfIFSC.size > 0) {
binding.edtIFSC.setText(listOfIFSC[position])
binding.edtIFSC.setSelection(binding.edtIFSC.text.toString().length)
getIFSCDetailsApi(listOfIFSC[position])
binding.edtIFSC.setOnItemClickListener { _, _, position, _ ->
if (listOfIFSC.size > 0) {
binding.edtIFSC.setText(adapter.getItem(position).toString())
binding.edtIFSC.setSelection(binding.edtIFSC.text.toString().length)
getIFSCDetailsApi(binding.edtIFSC.toString())
}
}
}
}
// 650 -> refreshToken()
else -> {
@ -832,7 +841,6 @@ class StepTwoBajajFDFragment : BaseFragment() {
stepTwoBajajFDViewModel.ifscCodeDetailsApi(
ifscCode,
token,
activity as BajajFdMainActivity
)
stepTwoBajajFDViewModel.getifscCodeDetailsCheckMutableData.observe(viewLifecycleOwner) { response ->
@ -1037,7 +1045,8 @@ class StepTwoBajajFDFragment : BaseFragment() {
val titleText =
(activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.Client_Title
val newTitleText = "$titleText."
if (titleText?.isEmpty()!!) {
if (titleText.isNullOrEmpty()) {
binding.spTitle.setText(
adapter.getItem(0)?.Value,
false
@ -1048,22 +1057,8 @@ class StepTwoBajajFDFragment : BaseFragment() {
binding.spTitle.setText(title.Value, false)
break
}
// binding.spTitle.setOnTouchListener { v, event ->
// when (event?.action) {
// MotionEvent.ACTION_DOWN -> {
// binding.spTitle.setText(
// adapter.getItem(0)?.Value,
// false
// )
//
// }
// }
//
// v?.onTouchEvent(event) ?: true
// }
}
}
binding.spNomineeTitle.setAdapter(adapter)
binding.spNomineeTitle.setText(
adapter.getItem(0)?.Value,
@ -1159,7 +1154,7 @@ class StepTwoBajajFDFragment : BaseFragment() {
private fun setUpRecyclerViewPaymentMode(listOfPayMode: List<GetCodes>) {
binding.rvPaymentMode.layoutManager =
LinearLayoutManager(activity as BajajFdMainActivity)
GridLayoutManager(activity as BajajFdMainActivity,2)
paymentModeAdapter = PaymentModeAdapter(
listOfPayMode,
listOfPayMode[0].Value


+ 5
- 5
app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepTwoBajajFDViewModel.kt View File

@ -125,24 +125,24 @@ class StepTwoBajajFDViewModel(private val mainRepository: MainRepository) : View
}
}
val getifscCodeCheckMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
val getIfscCodeCheckMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
fun ifscCodeApi(ifsc : String,activity : Activity) = viewModelScope.launch(
Common.handleError(activity)
) {
if (Common.isNetworkAvailable(activity)) {
getifscCodeCheckMutableData.postValue(Resource.Loading())
getIfscCodeCheckMutableData.postValue(Resource.Loading())
val response = mainRepository.ifscCodeCheck(ifsc)
getifscCodeCheckMutableData.postValue(handleResponse(response))
getIfscCodeCheckMutableData.postValue(handleResponse(response))
}
}
val getifscCodeDetailsCheckMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
fun ifscCodeDetailsApi(ifsc : String, token: String,activity : Activity) = viewModelScope.launch(
fun ifscCodeDetailsApi(ifsc : String,activity : Activity) = viewModelScope.launch(
Common.handleError(activity)
) {
if (Common.isNetworkAvailable(activity)) {
getifscCodeDetailsCheckMutableData.postValue(Resource.Loading())
val response = mainRepository.ifscCodeDetailsCheck(ifsc, token)
val response = mainRepository.ifscCodeDetailsCheck(ifsc)
getifscCodeDetailsCheckMutableData.postValue(handleResponse(response))
}
}


+ 20
- 21
app/src/main/res/layout/fragment_bajajfd_step_five.xml View File

@ -139,21 +139,21 @@
</androidx.core.widget.NestedScrollView>
<TextView
android:id="@+id/tvDownloadInvoice"
style="@style/semiBoldStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginTop="@dimen/margin_20"
android:backgroundTint="@color/blue"
android:text="@string/downloadInvoice"
android:textColor="@color/blue"
android:textSize="@dimen/text_size_16"
app:layout_constraintTop_toBottomOf="@+id/linearLayoutTwo"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/btnNext"
app:layout_constraintStart_toStartOf="parent" />
<!-- <TextView-->
<!-- android:id="@+id/tvDownloadInvoice"-->
<!-- style="@style/semiBoldStyle"-->
<!-- android:layout_width="wrap_content"-->
<!-- android:layout_height="wrap_content"-->
<!-- android:layout_gravity="center_vertical"-->
<!-- android:layout_marginTop="@dimen/margin_20"-->
<!-- android:backgroundTint="@color/blue"-->
<!-- android:text="@string/downloadInvoice"-->
<!-- android:textColor="@color/blue"-->
<!-- android:textSize="@dimen/text_size_16"-->
<!-- app:layout_constraintTop_toBottomOf="@+id/linearLayoutTwo"-->
<!-- app:layout_constraintBottom_toBottomOf="parent"-->
<!-- app:layout_constraintEnd_toStartOf="@+id/btnNext"-->
<!-- app:layout_constraintStart_toStartOf="parent" />-->
<com.google.android.material.button.MaterialButton
android:id="@+id/btnNext"
@ -162,13 +162,14 @@
android:layout_gravity="center_vertical"
android:layout_marginTop="@dimen/margin_10"
android:layout_marginBottom="@dimen/margin_15"
android:layout_marginStart="@dimen/margin_170"
android:backgroundTint="@color/colorPrimary"
android:text="@string/viewOrder"
android:textColor="@color/white"
android:textSize="@dimen/text_size_14"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/tvDownloadInvoice" />
app:layout_constraintStart_toStartOf="parent" />
<com.google.android.material.button.MaterialButton
android:id="@+id/tvRetry"
@ -179,11 +180,9 @@
android:text="@string/retry"
android:textColor="@color/white"
android:visibility="gone"
android:layout_marginStart="@dimen/margin_70"
android:layout_marginBottom="@dimen/margin_15"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/btnNext"
app:layout_constraintHorizontal_bias="0.607"
app:layout_constraintStart_toEndOf="@+id/tvDownloadInvoice"
app:layout_constraintTop_toTopOf="@+id/linearLayoutTwo"
app:layout_constraintVertical_bias="0.967" />
app:layout_constraintStart_toStartOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>

+ 3
- 14
app/src/main/res/layout/fragment_bajajfd_step_two.xml View File

@ -824,6 +824,7 @@
<TextView
android:id="@+id/tvBankDetails"
style="@style/semiBoldStyle"
android:layout_gravity="center"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/margin_5"
@ -857,7 +858,7 @@
android:padding="@dimen/margin_5"
android:text="@string/add_new_account"
android:textColor="@color/black"
android:textSize="@dimen/text_size_18"
android:textSize="@dimen/text_size_16"
android:textStyle="bold"
app:drawableEndCompat="@drawable/ic_add_icon">
@ -1002,6 +1003,7 @@
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:layout_marginTop="@dimen/margin_5"
android:background="@color/greyColor3"
android:orientation="horizontal"
@ -1045,19 +1047,6 @@
</LinearLayout>
<TextView
style="@style/regularStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/margin_15"
android:layout_marginTop="12dp"
android:layout_marginBottom="@dimen/margin_20"
android:padding="@dimen/margin_3"
android:text="@string/upto1LakhOnly"
android:textColor="@color/black"
android:textSize="@dimen/text_size_14"
tools:layout_editor_absoluteX="5dp" />
</LinearLayout>
</com.google.android.material.card.MaterialCardView>


+ 35
- 19
app/src/main/res/layout/item_payment_list_preview.xml View File

@ -4,36 +4,52 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:cardBackgroundColor="@color/white"
app:cardCornerRadius="3dp"
app:cardElevation="3dp"
app:cardCornerRadius="2dp"
app:cardElevation="2dp"
app:cardMaxElevation="1dp"
app:cardPreventCornerOverlap="true"
app:cardUseCompatPadding="true">
<LinearLayout
android:padding="@dimen/margin_3"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<ImageView
android:id="@+id/bankSelector"
android:layout_width="@dimen/margin_25"
android:layout_height="@dimen/margin_25"
android:layout_marginStart="@dimen/margin_10"
android:layout_marginEnd="@dimen/margin_10"
android:layout_marginBottom="@dimen/margin_10"
android:padding="@dimen/margin_5"
android:contentDescription="@null" />
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="@dimen/margin_2">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<ImageView
android:id="@+id/bankSelector"
android:layout_width="@dimen/margin_25"
android:layout_height="@dimen/margin_25"
android:layout_marginStart="@dimen/margin_10"
android:layout_marginEnd="@dimen/margin_10"
android:layout_marginBottom="@dimen/margin_2"
android:contentDescription="@null"
android:padding="@dimen/margin_5" />
<TextView
android:id="@+id/tvBankName"
style="@style/BoldStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/margin_4"
android:textColor="@color/black"
android:textSize="@dimen/text_size_14" />
</LinearLayout>
<TextView
android:id="@+id/tvBankName"
android:id="@+id/tvUpiMsg"
style="@style/regularStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/margin_4"
android:textColor="@color/black"
android:textSize="@dimen/text_size_14"
android:textStyle="bold" />
android:textSize="@dimen/text_size_12" />
</LinearLayout>
</com.google.android.material.card.MaterialCardView>

+ 2
- 0
app/src/main/res/values/dimens.xml View File

@ -72,6 +72,8 @@
<dimen name="margin_100">100dp</dimen>
<dimen name="margin_120">120dp</dimen>
<dimen name="margin_150">150dp</dimen>
<dimen name="margin_160">160dp</dimen>
<dimen name="margin_170">170dp</dimen>
<dimen name="margin_290">290dp</dimen>
<dimen name="margin_300">300dp</dimen>


Loading…
Cancel
Save

Powered by TurnKey Linux.