Browse Source

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

# Conflicts:
#	app/src/main/java/com/nivesh/production/bajajfd/interfaces/ApiInterface.kt
#	app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepTwoBajajFDFragment.kt
PankajBranch
pankaj 2 years ago
parent
commit
f1913d3670
10 changed files with 177 additions and 90 deletions
  1. +6
    -0
      app/src/main/java/com/nivesh/production/bajajfd/adapter/PaymentModeAdapter.kt
  2. +5
    -16
      app/src/main/java/com/nivesh/production/bajajfd/interfaces/ApiInterface.kt
  3. +37
    -3
      app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepThreeBajajFDFragment.kt
  4. +8
    -20
      app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepTwoBajajFDFragment.kt
  5. +1
    -1
      app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepTwoBajajFDViewModel.kt
  6. +6
    -0
      app/src/main/res/drawable/ic_baseline_check_24.xml
  7. +20
    -21
      app/src/main/res/layout/fragment_bajajfd_step_five.xml
  8. +57
    -10
      app/src/main/res/layout/fragment_bajajfd_step_three.xml
  9. +35
    -19
      app/src/main/res/layout/item_payment_list_preview.xml
  10. +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
) {


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

@ -146,24 +146,13 @@ interface ApiInterface {
): Response<JsonObject>
@GET("WebAPI_Bajaj/api/GetFDBankList?FDProvider=Bajaj")
suspend fun bankListApi(
@Header("token")
token: String
): Response<JsonObject>
@GET("WebApi/api/GetIFSC_Autofill")
suspend fun getIFSCApi(
@Query("prefix")
ifsc : String
suspend fun bankListApi(@Header("token") token: String): Response<JsonObject>
): Response<JsonObject>
@GET("WebApi/api/GetIFSC_Autofill?")
suspend fun getIFSCApi(@Query("prefix") ifsc : String): Response<JsonObject>
@GET("WebApi_Bajaj/api/GetBankDetailsFromIFSC")
suspend fun getIFSCDetailsApi(
@Query("ifsc")
ifsc : 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(


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

@ -59,6 +59,11 @@ class StepThreeBajajFDFragment : BaseFragment() {
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 val requestPermission = registerForActivityResult(
ActivityResultContracts.RequestPermission()
@ -70,7 +75,6 @@ class StepThreeBajajFDFragment : BaseFragment() {
}
}
override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?
@ -123,24 +127,28 @@ class StepThreeBajajFDFragment : BaseFragment() {
binding.btnPANUpload.setOnClickListener {
checkPANUploadFile = true
checkPhotoUploadFile = false
actionType = AccountCaptureType.MAIN_PAN_UPLOAD
selectImage("PAN")
}
binding.btnPhotoUpload.setOnClickListener {
checkPhotoUploadFile = true
checkPANUploadFile = false
actionType = AccountCaptureType.MAIN_PHOTO_UPLOAD
selectImage("Photograph")
}
binding.btnAadhaarFrontUpload.setOnClickListener {
checkPANUploadFile = false
checkPhotoUploadFile = false
actionType = AccountCaptureType.FIRST_UPLOAD
selectImage(binding.spDocType.text.toString())
}
binding.btnAadhaarBackUpload.setOnClickListener {
checkPANUploadFile = false
checkPhotoUploadFile = false
actionType = AccountCaptureType.SECOND_UPLOAD
selectImage(binding.spDocType.text.toString())
}
@ -148,7 +156,7 @@ class StepThreeBajajFDFragment : BaseFragment() {
AdapterView.OnItemClickListener { parent, _, position, _ ->
val getCodes: GetCodes = parent.getItemAtPosition(position) as GetCodes
when (getCodes.Value) {
when (getCodes.Label) {
resources.getString(R.string.aadhar) ->
setAadhaarUploadLayout()
else -> {
@ -257,6 +265,14 @@ class StepThreeBajajFDFragment : BaseFragment() {
} 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 ->{
binding.ivAadharBack.visibility = View.VISIBLE
}
}
}
private fun encodedFileToBase64(fileName: File?) {
@ -465,6 +481,25 @@ class StepThreeBajajFDFragment : BaseFragment() {
private fun validate(): Boolean {
if (binding.spDocType.text.equals(R.string.aadhar) && mapImage.size < 3) {
Common.showDialogValidation(
activity as BajajFdMainActivity,
"Upload Aadhaar Images"
)
return false
} else if (!binding.spDocType.text.equals(R.string.aadhar) && mapImage.size == 3) {
Common.showDialogValidation(
activity as BajajFdMainActivity,
"Upload Aadhaar Images"
)
return false
} else if (mapImage.size < 3) {
Common.showDialogValidation(
activity as BajajFdMainActivity,
"Upload All Images"
)
return false
}
return true
}
@ -500,5 +535,4 @@ class StepThreeBajajFDFragment : BaseFragment() {
fun displayReceivedData(createFDApplicationResponse: CreateFDApplicationResponse) {
uniqueId = createFDApplicationResponse.Response.FDCreationDetailsResponse.UniqueId
}
}

+ 8
- 20
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
@ -46,7 +47,6 @@ import com.nivesh.production.bajajfd.util.Constants.Companion.token
import com.nivesh.production.bajajfd.util.Resource
import com.nivesh.production.bajajfd.viewModel.StepTwoBajajFDViewModel
import java.util.*
import kotlin.math.log
class StepTwoBajajFDFragment : BaseFragment() {
@ -481,12 +481,6 @@ class StepTwoBajajFDFragment : BaseFragment() {
override fun onTextChanged(s: CharSequence?, start: Int, before: Int, count: Int) {
removeError(binding.tlIFSC)
ifscCodeCheckApi(s.toString())
Log.e("ifsc", "-->" + s.toString())
}
})
binding.edtAccountNumber.addTextChangedListener(object : TextWatcher {
@ -800,7 +794,8 @@ class StepTwoBajajFDFragment : BaseFragment() {
if (listOfIFSC.size > 0) {
val enteredText = binding.edtIFSC.getText()
Log.d("bankifsc $enteredText",enteredText.toString())
binding.edtIFSC.setText(listOfIFSC[position])
// binding.edtIFSC.setText(listOfIFSC[position])
binding.edtIFSC.setText(adapter.getItem(position).toString())
binding.edtIFSC.setSelection(binding.edtIFSC.text.toString().length)
getIFSCDetailsApi(enteredText.toString())
}
@ -846,9 +841,9 @@ class StepTwoBajajFDFragment : BaseFragment() {
}
private fun getIFSCDetailsApi(ifscCode: String) {
stepTwoBajajFDViewModel.ifscCodeDetailsApi(
ifscCode,
token,
activity as BajajFdMainActivity
)
stepTwoBajajFDViewModel.getifscCodeDetailsCheckMutableData.observe(viewLifecycleOwner) { response ->
@ -875,6 +870,7 @@ class StepTwoBajajFDFragment : BaseFragment() {
}
}
}
is Resource.Error -> {
response.message?.let { message ->
Common.showDialogValidation(activity as BajajFdMainActivity, message)
@ -885,13 +881,6 @@ class StepTwoBajajFDFragment : BaseFragment() {
}
is Resource.DataError -> {
response.errorCode?.let { errorCode ->
Common.showDialogValidation(activity as BajajFdMainActivity, errorCode.toString())
}
}
}
}
@ -1056,11 +1045,10 @@ class StepTwoBajajFDFragment : BaseFragment() {
)
binding.spTitle.setAdapter(adapter)
var titleText =
val titleText =
(activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.Client_Title
val newTitleText = "$titleText."
titleText="Mr."
if (titleText?.isEmpty()!! ) {
if (titleText?.isEmpty()!!) {
binding.spTitle.setText(
adapter.getItem(0)?.Value,
false
@ -1182,7 +1170,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


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

@ -138,7 +138,7 @@ class StepTwoBajajFDViewModel(private val mainRepository: MainRepository) : View
}
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)) {


+ 6
- 0
app/src/main/res/drawable/ic_baseline_check_24.xml View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<vector android:height="24dp" android:tint="#64F50E"
android:viewportHeight="24" android:viewportWidth="24"
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="@android:color/white" android:pathData="M9,16.17L4.83,12l-1.42,1.41L9,19 21,7l-1.41,-1.41z"/>
</vector>

+ 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>

+ 57
- 10
app/src/main/res/layout/fragment_bajajfd_step_three.xml View File

@ -114,6 +114,20 @@
app:layout_constraintTop_toBottomOf="@+id/tvUploadKYCDocument"
tools:ignore="DuplicateSpeakableTextCheck" />
<ImageView
android:id="@+id/ivPan"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="7dp"
android:background="@drawable/ic_baseline_check_24"
android:visibility="invisible"
app:layout_constraintBottom_toBottomOf="@+id/btnPANUpload"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.384"
app:layout_constraintStart_toEndOf="@+id/btnPANUpload"
app:layout_constraintTop_toTopOf="@+id/btnPANUpload"
app:layout_constraintVertical_bias="0.333" />
<TextView
android:id="@+id/tvPhotoUpload"
style="@style/regularStyle"
@ -146,6 +160,20 @@
app:layout_constraintStart_toEndOf="@+id/tvPhotoUpload"
app:layout_constraintTop_toBottomOf="@+id/btnPANUpload" />
<ImageView
android:id="@+id/ivPhotograph"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="7dp"
android:visibility="invisible"
android:background="@drawable/ic_baseline_check_24"
app:layout_constraintBottom_toBottomOf="@+id/btnPhotoUpload"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.384"
app:layout_constraintStart_toEndOf="@+id/btnPhotoUpload"
app:layout_constraintTop_toTopOf="@+id/btnPhotoUpload"
app:layout_constraintVertical_bias="0.333" />
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/spAddressType"
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.ExposedDropdownMenu"
@ -191,6 +219,7 @@
android:layout_height="@dimen/margin_48"
android:layout_alignParentEnd="true"
android:layout_marginTop="12dp"
android:layout_marginEnd="28dp"
android:backgroundTint="@color/greyColor4"
android:paddingLeft="@dimen/margin_30"
android:paddingRight="@dimen/margin_30"
@ -201,6 +230,20 @@
app:layout_constraintTop_toBottomOf="@+id/spAddressType"
tools:ignore="DuplicateSpeakableTextCheck" />
<ImageView
android:id="@+id/ivAadharFront"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="7dp"
android:background="@drawable/ic_baseline_check_24"
android:visibility="invisible"
app:layout_constraintBottom_toBottomOf="@+id/btnAadhaarFrontUpload"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.38"
app:layout_constraintStart_toEndOf="@+id/btnAadhaarFrontUpload"
app:layout_constraintTop_toTopOf="@+id/btnAadhaarFrontUpload"
app:layout_constraintVertical_bias="0.333" />
<Button
android:id="@+id/btnAadhaarBackUpload"
android:layout_width="wrap_content"
@ -220,6 +263,20 @@
app:layout_constraintTop_toBottomOf="@+id/btnAadhaarFrontUpload"
app:layout_constraintVertical_bias="0.0" />
<ImageView
android:id="@+id/ivAadharBack"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="7dp"
android:background="@drawable/ic_baseline_check_24"
android:visibility="invisible"
app:layout_constraintBottom_toBottomOf="@+id/btnAadhaarBackUpload"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.38"
app:layout_constraintStart_toEndOf="@+id/btnAadhaarBackUpload"
app:layout_constraintTop_toTopOf="@+id/btnAadhaarBackUpload"
app:layout_constraintVertical_bias="0.333" />
<TextView
android:id="@+id/tvAadhaarBack"
style="@style/regularStyle"
@ -235,16 +292,6 @@
app:layout_constraintTop_toTopOf="@+id/btnAadhaarBackUpload"
app:layout_constraintVertical_bias="0.406" />
<ImageView
android:id="@+id/iv"
android:layout_width="100dp"
android:layout_height="100dp"
android:background="@drawable/bajaj_logo"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/btnAadhaarBackUpload" />
</androidx.constraintlayout.widget.ConstraintLayout>
</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.