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/model/ResponseXXXXXXXXXXXX.kt
#	app/src/main/java/com/nivesh/production/bajajfd/ui/activity/BajajFdMainActivity.kt
#	app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepThreeBajajFDFragment.kt
#	app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepTwoBajajFDFragment.kt
#	app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepThreeBajajFDViewModel.kt
#	app/src/main/res/values-hi-rIN/strings.xml
PankajBranch
Manoj 2 years ago
parent
commit
245c2e7607
40 changed files with 823 additions and 347 deletions
  1. +12
    -0
      app/src/main/java/com/nivesh/production/bajajfd/BajajApplication.kt
  2. +74
    -0
      app/src/main/java/com/nivesh/production/bajajfd/adapter/CustomerListAdapter.kt
  3. +88
    -0
      app/src/main/java/com/nivesh/production/bajajfd/adapter/PaymentModeAdapter.kt
  4. +6
    -17
      app/src/main/java/com/nivesh/production/bajajfd/adapter/SectionsPagerAdapter.kt
  5. +29
    -0
      app/src/main/java/com/nivesh/production/bajajfd/adapter/SmartFragmentStatePagerAdapter.kt
  6. +1
    -1
      app/src/main/java/com/nivesh/production/bajajfd/api/ApiClient.kt
  7. +2
    -2
      app/src/main/java/com/nivesh/production/bajajfd/interfaces/ApiInterface.kt
  8. +8
    -0
      app/src/main/java/com/nivesh/production/bajajfd/interfaces/SendData.kt
  9. +6
    -0
      app/src/main/java/com/nivesh/production/bajajfd/model/Errors.kt
  10. +12
    -0
      app/src/main/java/com/nivesh/production/bajajfd/model/FDDataResponse.kt
  11. +7
    -0
      app/src/main/java/com/nivesh/production/bajajfd/model/GetFDDetailsRequest.kt
  12. +5
    -0
      app/src/main/java/com/nivesh/production/bajajfd/model/GetFDDetailsResponse.kt
  13. +3
    -1
      app/src/main/java/com/nivesh/production/bajajfd/model/Response.kt
  14. +1
    -1
      app/src/main/java/com/nivesh/production/bajajfd/model/ResponseX.kt
  15. +1
    -1
      app/src/main/java/com/nivesh/production/bajajfd/model/ResponseXX.kt
  16. +1
    -1
      app/src/main/java/com/nivesh/production/bajajfd/model/ResponseXXXX.kt
  17. +1
    -1
      app/src/main/java/com/nivesh/production/bajajfd/model/ResponseXXXXXXXX.kt
  18. +1
    -1
      app/src/main/java/com/nivesh/production/bajajfd/model/ResponseXXXXXXXXX.kt
  19. +1
    -1
      app/src/main/java/com/nivesh/production/bajajfd/model/ResponseXXXXXXXXXXX.kt
  20. +1
    -0
      app/src/main/java/com/nivesh/production/bajajfd/model/ResponseXXXXXXXXXXXX.kt
  21. +2
    -2
      app/src/main/java/com/nivesh/production/bajajfd/repositories/MainRepository.kt
  22. +82
    -41
      app/src/main/java/com/nivesh/production/bajajfd/ui/activity/BajajFdMainActivity.kt
  23. +13
    -0
      app/src/main/java/com/nivesh/production/bajajfd/ui/activity/BaseActivity.kt
  24. +21
    -0
      app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/BaseFragment.kt
  25. +55
    -55
      app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepFourBajajFDFragment.kt
  26. +35
    -12
      app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepOneBajajFDFragment.kt
  27. +7
    -3
      app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepThreeBajajFDFragment.kt
  28. +158
    -47
      app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepTwoBajajFDFragment.kt
  29. +38
    -16
      app/src/main/java/com/nivesh/production/bajajfd/util/Common.kt
  30. +18
    -10
      app/src/main/java/com/nivesh/production/bajajfd/viewModel/BajajFDViewModel.kt
  31. +11
    -23
      app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepFourBajajFDViewModel.kt
  32. +10
    -11
      app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepOneBajajFDViewModel.kt
  33. +3
    -1
      app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepThreeBajajFDViewModel.kt
  34. +7
    -13
      app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepTwoBajajFDViewModel.kt
  35. +13
    -68
      app/src/main/res/layout/fragment_bajajfd_step_four.xml
  36. +8
    -18
      app/src/main/res/layout/fragment_bajajfd_step_two.xml
  37. +39
    -0
      app/src/main/res/layout/item_customer_list_preview.xml
  38. +39
    -0
      app/src/main/res/layout/item_payment_list_preview.xml
  39. +2
    -0
      app/src/main/res/values-hi-rIN/strings.xml
  40. +2
    -0
      app/src/main/res/values/strings.xml

+ 12
- 0
app/src/main/java/com/nivesh/production/bajajfd/BajajApplication.kt View File

@ -3,4 +3,16 @@ package com.nivesh.production.bajajfd
import android.app.Application import android.app.Application
class BajajApplication : Application() { class BajajApplication : Application() {
private var mInstance: BajajApplication? = null
// private val mRequestQueue: RequestQueue? = null
override fun onCreate() {
super.onCreate()
mInstance = this;
}
@Synchronized
fun getInstanceApp(): BajajApplication? {
return mInstance
}
} }

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

@ -0,0 +1,74 @@
package com.nivesh.production.bajajfd.adapter
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
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.GetCodes
class CustomerListAdapter(
private val bankList: List<GetCodes>?
) : RecyclerView.Adapter<CustomerListAdapter.BankListViewHolder>() {
inner class BankListViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
val bankSelector: ImageView = itemView.findViewById(R.id.bankSelector)
val tvBankName: TextView = itemView.findViewById(R.id.tvBankName)
}
private var checkedPosition: Int = -2
override fun onCreateViewHolder(
parent: ViewGroup,
viewType: Int
): BankListViewHolder {
return BankListViewHolder(
LayoutInflater.from(parent.context).inflate(
R.layout.item_customer_list_preview,
parent,
false
)
)
}
override fun onBindViewHolder(holder: BankListViewHolder, position: Int) {
val bankList = bankList?.get(position)
if (bankList != null) {
holder.itemView.apply {
holder.tvBankName.text = bankList.Value
setOnClickListener {
onItemClickListener?.let {
it(bankList)
holder.bankSelector.setBackgroundResource(R.drawable.ic_select_green)
if (checkedPosition != holder.adapterPosition) {
notifyItemChanged(checkedPosition)
checkedPosition = holder.adapterPosition
}
}
}
}
}
}
override fun getItemCount(): Int {
return bankList?.size!!
}
private var onItemClickListener: ((GetCodes) -> Unit)? = null
fun setOnItemClickListener(listener: (GetCodes) -> Unit) {
onItemClickListener = listener
}
fun getSelected(): GetCodes? {
return if (checkedPosition != -1) {
bankList?.get(checkedPosition)
} else null
}
}

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

@ -0,0 +1,88 @@
package com.nivesh.production.bajajfd.adapter
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
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.GetCodes
class PaymentModeAdapter(
private val bankList: List<GetCodes>?,
private val selectedAccount: String? = null
) : RecyclerView.Adapter<PaymentModeAdapter.BankListViewHolder>() {
inner class BankListViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
val bankSelector: ImageView = itemView.findViewById(R.id.bankSelector)
val tvBankName: TextView = itemView.findViewById(R.id.tvBankName)
}
private var checkedPosition: Int = -2
override fun onCreateViewHolder(
parent: ViewGroup,
viewType: Int
): BankListViewHolder {
return BankListViewHolder(
LayoutInflater.from(parent.context).inflate(
R.layout.item_payment_list_preview,
parent,
false
)
)
}
override fun onBindViewHolder(holder: BankListViewHolder, position: Int) {
val bankList = bankList?.get(position)
if (bankList != null) {
holder.itemView.apply {
holder.tvBankName.text = bankList.Value
if (selectedAccount == bankList.Value && checkedPosition == -2
) {
holder.bankSelector.setBackgroundResource(R.drawable.ic_select_green)
checkedPosition = holder.adapterPosition
} else if (checkedPosition == -1) {
holder.bankSelector.setBackgroundResource(R.drawable.ic_select_outline)
} else if (checkedPosition == holder.adapterPosition) {
holder.bankSelector.setBackgroundResource(R.drawable.ic_select_green)
} else {
holder.bankSelector.setBackgroundResource(R.drawable.ic_select_outline)
}
setOnClickListener {
onItemClickListener?.let {
it(bankList)
holder.bankSelector.setBackgroundResource(R.drawable.ic_select_green)
if (checkedPosition != holder.adapterPosition) {
notifyItemChanged(checkedPosition)
checkedPosition = holder.adapterPosition
}
}
}
}
}
}
override fun getItemCount(): Int {
return bankList?.size!!
}
private var onItemClickListener: ((GetCodes) -> Unit)? = null
fun setOnItemClickListener(listener: (GetCodes) -> Unit) {
onItemClickListener = listener
}
fun getSelected(): GetCodes? {
return if (checkedPosition != -1) {
bankList?.get(checkedPosition)
} else null
}
}

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

@ -1,30 +1,19 @@
package com.nivesh.production.bajajfd.adapter package com.nivesh.production.bajajfd.adapter
import android.content.Context
import androidx.fragment.app.Fragment import androidx.fragment.app.Fragment
import androidx.fragment.app.FragmentManager import androidx.fragment.app.FragmentManager
import androidx.fragment.app.FragmentPagerAdapter
class SectionsPagerAdapter(private val context: Context, fm: FragmentManager) :
FragmentPagerAdapter(fm, BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT) {
private var fragmentList: MutableList<Fragment> = ArrayList()
class SectionsPagerAdapter(private val fm: FragmentManager, private val fragments: Array<Fragment>, private val NumberOfTabs: Int) : SmartFragmentStatePagerAdapter(fm) {
override fun getItem(position: Int): Fragment { override fun getItem(position: Int): Fragment {
return fragmentList[position]
return fragments[position]
} }
override fun getCount(): Int {
return fragmentList.size
override fun getPageTitle(position: Int): CharSequence? {
return null
} }
fun addFragment(fragment: Fragment) {
try {
if (!fragment.isAdded) {
fragmentList.add(fragment)
}
} catch (e: Exception) {
e.printStackTrace()
}
override fun getCount(): Int {
return NumberOfTabs
} }
} }

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

@ -0,0 +1,29 @@
package com.nivesh.production.bajajfd.adapter
import android.util.SparseArray
import android.view.View
import android.view.ViewGroup
import androidx.fragment.app.Fragment
import androidx.fragment.app.FragmentManager
import androidx.fragment.app.FragmentStatePagerAdapter
abstract class SmartFragmentStatePagerAdapter(fragmentManager: FragmentManager) : FragmentStatePagerAdapter(fragmentManager) {
val registeredFragments = SparseArray<Fragment>()
override fun instantiateItem(container: ViewGroup, position: Int): Any {
val fragment = super.instantiateItem(container, position) as Fragment
registeredFragments.put(position, fragment)
return fragment
}
// Unregister when the item is inactive
override fun destroyItem(container: View, position: Int, `object`: Any) {
registeredFragments.remove(position)
super.destroyItem(container, position, `object`)
}
// Returns the fragment for the position (if instantiated)
fun getRegisteredFragment(position: Int): Fragment? {
return registeredFragments[position]
}
}

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

@ -26,7 +26,7 @@ class ApiClient {
.client(client) .client(client)
.build() .build()
} }
val getApiClient by lazy {
val getApiClient: ApiInterface by lazy {
client.create(ApiInterface::class.java) client.create(ApiInterface::class.java)
} }
} }

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

@ -40,7 +40,7 @@ interface ApiInterface {
@POST("WebApi_Bajaj/api/GetFDDetails") @POST("WebApi_Bajaj/api/GetFDDetails")
suspend fun getFDDetails( suspend fun getFDDetails(
@Body requestBody: RequestBody,
@Body requestBody: GetFDDetailsRequest,
@Header("token") token: String @Header("token") token: String
): Response<JsonObject> ): Response<JsonObject>
@ -91,7 +91,7 @@ interface ApiInterface {
suspend fun getFDStepsCount( suspend fun getFDStepsCount(
@Body fdStepsCountRequest: FDStepsCountRequest, @Body fdStepsCountRequest: FDStepsCountRequest,
@Header("token") token: String @Header("token") token: String
): Response<JsonObject>
): Response<JsonObject>
@POST("WebApi/api/GetClientDetailV2_S") @POST("WebApi/api/GetClientDetailV2_S")
suspend fun getClientDetails( suspend fun getClientDetails(


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

@ -0,0 +1,8 @@
package com.nivesh.production.bajajfd.interfaces
import com.nivesh.production.bajajfd.model.CreateFDApplicationResponse
interface SendData {
fun sendDataFragment(message: CreateFDApplicationResponse, currentItem: Int)
}

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

@ -0,0 +1,6 @@
package com.nivesh.production.bajajfd.model
data class Errors(
val ErrorCode: Int,
val ErrorMessage: String
)

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

@ -0,0 +1,12 @@
package com.nivesh.production.bajajfd.model
data class FDDataResponse(
val FDAmount: Double,
val Frequency: String,
val ParameterName: String,
val PaymentUrl: String,
val RateOfInterest: Double,
val Tenure: Int,
val UniqueId: String,
val Value: String
)

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

@ -0,0 +1,7 @@
package com.nivesh.production.bajajfd.model
data class GetFDDetailsRequest(
var FDProvider: String? = "",
var NiveshClientCode: String? = "",
var UniqueId: String? = ""
)

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

@ -0,0 +1,5 @@
package com.nivesh.production.bajajfd.model
data class GetFDDetailsResponse(
val Response: ResponseXXXXXXXXXXXX
)

+ 3
- 1
app/src/main/java/com/nivesh/production/bajajfd/model/Response.kt View File

@ -1,5 +1,7 @@
import com.nivesh.production.bajajfd.model.Errors
data class Response( data class Response(
val Errors: List<Any>,
val Errors: List<Errors>,
val Message: String, val Message: String,
var ROIDatalist: MutableList<ROIDataList>, var ROIDatalist: MutableList<ROIDataList>,
val Status: String, val Status: String,


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

@ -1,7 +1,7 @@
package com.nivesh.production.bajajfd.model package com.nivesh.production.bajajfd.model
data class ResponseX( data class ResponseX(
val Errors: List<Any>,
val Errors: List<Errors>,
val GetCodesList: List<GetCodes>, val GetCodesList: List<GetCodes>,
val Message: String, val Message: String,
val Status: String, val Status: String,


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

@ -1,7 +1,7 @@
package com.nivesh.production.bajajfd.model package com.nivesh.production.bajajfd.model
data class ResponseXX( data class ResponseXX(
val Errors: Any,
val Errors: List<Errors>,
val MaturityAmount: Double, val MaturityAmount: Double,
val Message: String, val Message: String,
val Status: String, val Status: String,


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

@ -1,7 +1,7 @@
package com.nivesh.production.bajajfd.model package com.nivesh.production.bajajfd.model
data class ResponseXXXX( data class ResponseXXXX(
val Errors: Any,
val Errors: List<Errors>,
val Message: String, val Message: String,
val Status: String, val Status: String,
val StatusCode: Int, val StatusCode: Int,


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

@ -2,7 +2,7 @@ package com.nivesh.production.bajajfd.model
data class ResponseXXXXXXXX( data class ResponseXXXXXXXX(
val BankList: List<Bank>, val BankList: List<Bank>,
val Errors: List<Any>,
val Errors: List<Errors>,
val Message: String, val Message: String,
val Status: String, val Status: String,
val StatusCode: Int val StatusCode: Int

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

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

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

@ -1,7 +1,7 @@
package com.nivesh.production.bajajfd.model package com.nivesh.production.bajajfd.model
data class ResponseXXXXXXXXXXX( data class ResponseXXXXXXXXXXX(
val Errors: Any,
val Errors: List<Errors>,
val FDCreationDetailsResponse: FDCreationDetailsResponse, val FDCreationDetailsResponse: FDCreationDetailsResponse,
val Message: String, val Message: String,
val Status: String, val Status: String,


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

@ -2,6 +2,7 @@ package com.nivesh.production.bajajfd.model
data class ResponseXXXXXXXXXXXX( data class ResponseXXXXXXXXXXXX(
val Errors: Any, val Errors: Any,
val FDDataResponse: FDDataResponse,
val Message: String, val Message: String,
val Status: String, val Status: String,
val StatusCode: Int val StatusCode: Int

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

@ -32,8 +32,8 @@ class MainRepository constructor(private val apiInterface: ApiInterface) {
suspend fun saveFDOtherDataResponse(getRatesRequest: GetRatesRequest, token: String) = suspend fun saveFDOtherDataResponse(getRatesRequest: GetRatesRequest, token: String) =
apiInterface.getRates(getRatesRequest, token) apiInterface.getRates(getRatesRequest, token)
suspend fun getFDDetailsResponse(getRatesRequest: GetRatesRequest, token: String) =
apiInterface.getRates(getRatesRequest, token)
suspend fun getFDDetailsResponse(getRatesRequest: GetFDDetailsRequest, token: String) =
apiInterface.getFDDetails(getRatesRequest, token)
suspend fun updateFDPaymentStatusResponse(getRatesRequest: GetRatesRequest, token: String) = suspend fun updateFDPaymentStatusResponse(getRatesRequest: GetRatesRequest, token: String) =
apiInterface.getRates(getRatesRequest, token) apiInterface.getRates(getRatesRequest, token)


+ 82
- 41
app/src/main/java/com/nivesh/production/bajajfd/ui/activity/BajajFdMainActivity.kt View File

@ -3,11 +3,10 @@ package com.nivesh.production.bajajfd.ui.activity
import android.graphics.drawable.Drawable import android.graphics.drawable.Drawable
import android.os.Bundle import android.os.Bundle
import android.util.Log import android.util.Log
import androidx.appcompat.app.AppCompatActivity
import androidx.fragment.app.Fragment
import androidx.lifecycle.ViewModelProvider import androidx.lifecycle.ViewModelProvider
import androidx.viewpager.widget.ViewPager import androidx.viewpager.widget.ViewPager
import com.google.gson.Gson import com.google.gson.Gson
import com.nivesh.production.bajajfd.R
import com.nivesh.production.bajajfd.adapter.SectionsPagerAdapter import com.nivesh.production.bajajfd.adapter.SectionsPagerAdapter
import com.nivesh.production.bajajfd.api.ApiClient import com.nivesh.production.bajajfd.api.ApiClient
import com.nivesh.production.bajajfd.databinding.ActivityBajajFdBinding import com.nivesh.production.bajajfd.databinding.ActivityBajajFdBinding
@ -18,12 +17,15 @@ import com.nivesh.production.bajajfd.ui.fragment.*
import com.nivesh.production.bajajfd.ui.providerfactory.* import com.nivesh.production.bajajfd.ui.providerfactory.*
import com.nivesh.production.bajajfd.util.Common import com.nivesh.production.bajajfd.util.Common
import com.nivesh.production.bajajfd.util.Common.Companion.defaultShape import com.nivesh.production.bajajfd.util.Common.Companion.defaultShape
import com.nivesh.production.bajajfd.util.Common.Companion.getDate
import com.nivesh.production.bajajfd.util.Common.Companion.selectedShape import com.nivesh.production.bajajfd.util.Common.Companion.selectedShape
import com.nivesh.production.bajajfd.util.Common.Companion.showDialogValidation
import com.nivesh.production.bajajfd.util.Constants.Companion.token import com.nivesh.production.bajajfd.util.Constants.Companion.token
import com.nivesh.production.bajajfd.util.Resource import com.nivesh.production.bajajfd.util.Resource
import com.nivesh.production.bajajfd.viewModel.* import com.nivesh.production.bajajfd.viewModel.*
class BajajFdMainActivity : AppCompatActivity(), BajajFDInterface {
class BajajFdMainActivity : BaseActivity(), BajajFDInterface {
lateinit var binding: ActivityBajajFdBinding lateinit var binding: ActivityBajajFdBinding
private lateinit var viewModel: BajajFDViewModel private lateinit var viewModel: BajajFDViewModel
@ -43,7 +45,9 @@ class BajajFdMainActivity : AppCompatActivity(), BajajFDInterface {
var nomineeGuardianDetails: NomineeGuardianDetails var nomineeGuardianDetails: NomineeGuardianDetails
var getClientDetailsResponse: getClientDetailsResponse var getClientDetailsResponse: getClientDetailsResponse
var stepCount : Int = 0
private var stepCount: Int = 0
private lateinit var sectionsPagerAdapter : SectionsPagerAdapter
private lateinit var fragments: Array<Fragment>
override fun onCreate(savedInstanceState: Bundle?) { override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState) super.onCreate(savedInstanceState)
@ -105,7 +109,7 @@ class BajajFdMainActivity : AppCompatActivity(), BajajFDInterface {
private fun getStepsCountApi() { private fun getStepsCountApi() {
val fdStepsCount = FDStepsCountRequest() val fdStepsCount = FDStepsCountRequest()
fdStepsCount.FDProvider = getString(R.string.bajaj)
fdStepsCount.FDProvider = getString(com.nivesh.production.bajajfd.R.string.bajaj)
fdStepsCount.NiveshClientCode = "8872" fdStepsCount.NiveshClientCode = "8872"
viewModel.getStepsCount(fdStepsCount, token) viewModel.getStepsCount(fdStepsCount, token)
viewModel.getStepsCountMutableData.observe(this) { response -> viewModel.getStepsCountMutableData.observe(this) { response ->
@ -120,17 +124,19 @@ class BajajFdMainActivity : AppCompatActivity(), BajajFDInterface {
stepCount = stepsCountResponse.Response.StepsCount stepCount = stepsCountResponse.Response.StepsCount
getClientDetailsApi(stepsCountResponse.Response.StepsCount) getClientDetailsApi(stepsCountResponse.Response.StepsCount)
} }
// 650 -> refreshToken()
650 -> refreshToken(fdStepsCount)
else -> { else -> {
showDialogValidation(
this@BajajFdMainActivity,
stepsCountResponse.Response.Errors[0].ErrorMessage
)
} }
} }
} }
} }
is Resource.Error -> { is Resource.Error -> {
response.message?.let { message -> response.message?.let { message ->
Log.e(" ", "An error occurred:$message")
showDialogValidation(this@BajajFdMainActivity, message)
} }
} }
is Resource.Loading -> { is Resource.Loading -> {
@ -140,24 +146,31 @@ class BajajFdMainActivity : AppCompatActivity(), BajajFDInterface {
} }
} }
private fun refreshToken(fdStepsCount: FDStepsCountRequest) {
if (Common.isNetworkAvailable(this@BajajFdMainActivity)) {
}
}
private fun getClientDetailsApi(stepsCount: Int) { private fun getClientDetailsApi(stepsCount: Int) {
if (Common.isNetworkAvailable(this@BajajFdMainActivity)) { if (Common.isNetworkAvailable(this@BajajFdMainActivity)) {
val getClientDetailsRequest = getClientDetailsRequest() val getClientDetailsRequest = getClientDetailsRequest()
getClientDetailsRequest.client_code = "8872" getClientDetailsRequest.client_code = "8872"
getClientDetailsRequest.AppOrWeb = getString(R.string.app)
getClientDetailsRequest.AppOrWeb = getString(com.nivesh.production.bajajfd.R.string.app)
getClientDetailsRequest.sub_broker_code = "1038" getClientDetailsRequest.sub_broker_code = "1038"
val userRequest = UserRequest() val userRequest = UserRequest()
userRequest.UID = 19060 userRequest.UID = 19060
userRequest.IPAddress = "" userRequest.IPAddress = ""
userRequest.Source = getString(R.string.source)
userRequest.AppOrWeb = getString(R.string.app)
userRequest.Source = getString(com.nivesh.production.bajajfd.R.string.source)
userRequest.AppOrWeb = getString(com.nivesh.production.bajajfd.R.string.app)
userRequest.LoggedInRoleId = 5 userRequest.LoggedInRoleId = 5
val deviceInfo = DeviceInfo() val deviceInfo = DeviceInfo()
deviceInfo.device_id = "" deviceInfo.device_id = ""
deviceInfo.device_id_for_UMSId = "" deviceInfo.device_id_for_UMSId = ""
deviceInfo.device_type = getString(R.string.app)
deviceInfo.device_type = getString(com.nivesh.production.bajajfd.R.string.app)
deviceInfo.device_model = "" deviceInfo.device_model = ""
deviceInfo.device_token = "" deviceInfo.device_token = ""
deviceInfo.device_name = "" deviceInfo.device_name = ""
@ -183,14 +196,16 @@ class BajajFdMainActivity : AppCompatActivity(), BajajFDInterface {
checkFDCKYCApi() checkFDCKYCApi()
} }
// 650 -> refreshToken() // 650 -> refreshToken()
else -> {}
else -> {
showDialogValidation(this@BajajFdMainActivity, response.message)
}
} }
} }
} }
is Resource.Error -> { is Resource.Error -> {
response.message?.let { message -> response.message?.let { message ->
Log.e(" ", "An error occurred:$message")
showDialogValidation(this@BajajFdMainActivity, message)
} }
} }
is Resource.Loading -> { is Resource.Loading -> {
@ -206,17 +221,28 @@ class BajajFdMainActivity : AppCompatActivity(), BajajFDInterface {
// steps setting // steps setting
setBackground(selectedShape(), defaultShape(), defaultShape(), defaultShape()) setBackground(selectedShape(), defaultShape(), defaultShape(), defaultShape())
if (stepCount == 3) {
fragments = arrayOf(
StepOneBajajFDFragment.getInstance(this),
StepTwoBajajFDFragment.getInstance(this),
StepFourBajajFDFragment.getInstance(this),
StepFiveBajajFDFragment.getInstance(this)
)
} else if (stepCount == 4) {
fragments = arrayOf(
StepOneBajajFDFragment.getInstance(this),
StepTwoBajajFDFragment.getInstance(this),
StepThreeBajajFDFragment.getInstance(this),
StepFourBajajFDFragment.getInstance(this),
StepFiveBajajFDFragment.getInstance(this)
)
}
// set viewPager // set viewPager
val sectionsPagerAdapter =
SectionsPagerAdapter(this@BajajFdMainActivity, supportFragmentManager)
sectionsPagerAdapter =
SectionsPagerAdapter(supportFragmentManager, fragments, stepsCount)
val viewPager: ViewPager = binding.viewPager val viewPager: ViewPager = binding.viewPager
sectionsPagerAdapter.addFragment(StepOneBajajFDFragment.getInstance(this@BajajFdMainActivity))
sectionsPagerAdapter.addFragment(StepTwoBajajFDFragment.getInstance(this@BajajFdMainActivity))
if (stepsCount == 4) {
sectionsPagerAdapter.addFragment(StepThreeBajajFDFragment.getInstance(this@BajajFdMainActivity))
}
sectionsPagerAdapter.addFragment(StepFourBajajFDFragment.getInstance(this@BajajFdMainActivity))
sectionsPagerAdapter.addFragment(StepFiveBajajFDFragment.getInstance(this@BajajFdMainActivity))
viewPager.adapter = sectionsPagerAdapter viewPager.adapter = sectionsPagerAdapter
viewPager.addOnPageChangeListener(object : ViewPager.OnPageChangeListener { viewPager.addOnPageChangeListener(object : ViewPager.OnPageChangeListener {
@ -282,12 +308,13 @@ class BajajFdMainActivity : AppCompatActivity(), BajajFDInterface {
} }
private fun checkFDCKYCApi() { private fun checkFDCKYCApi() {
if (Common.isNetworkAvailable(this@BajajFdMainActivity)){
if (Common.isNetworkAvailable(this@BajajFdMainActivity)) {
if (getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CM_MOBILE?.isNotEmpty()!! && getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_DOB?.isNotEmpty()!! && getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_PAN?.isNotEmpty()!! && getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_CODE?.isNotEmpty()!!) { if (getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CM_MOBILE?.isNotEmpty()!! && getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_DOB?.isNotEmpty()!! && getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_PAN?.isNotEmpty()!! && getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_CODE?.isNotEmpty()!!) {
val checkFDKYCRequest = CheckFDKYCRequest() val checkFDKYCRequest = CheckFDKYCRequest()
checkFDKYCRequest.Mobile = getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CM_MOBILE
checkFDKYCRequest.Mobile =
getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CM_MOBILE
checkFDKYCRequest.DOB = checkFDKYCRequest.DOB =
getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_DOB
getDate(getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_DOB!!)
checkFDKYCRequest.PAN = checkFDKYCRequest.PAN =
getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_PAN getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_PAN
checkFDKYCRequest.NiveshClientCode = checkFDKYCRequest.NiveshClientCode =
@ -309,14 +336,19 @@ class BajajFdMainActivity : AppCompatActivity(), BajajFDInterface {
fdInvestmentDetails.CustomerType = "" fdInvestmentDetails.CustomerType = ""
} }
// 650 -> refreshToken() // 650 -> refreshToken()
else -> {}
else -> {
showDialogValidation(
this@BajajFdMainActivity,
getCodeResponse.Response.Errors[0].ErrorMessage
)
}
} }
} }
} }
is Resource.Error -> { is Resource.Error -> {
response.message?.let { message -> response.message?.let { message ->
Log.e(" ", "An error occurred:$message")
showDialogValidation(this@BajajFdMainActivity, message)
} }
} }
is Resource.Loading -> { is Resource.Loading -> {
@ -366,7 +398,7 @@ class BajajFdMainActivity : AppCompatActivity(), BajajFDInterface {
override fun stepThreeApi(data: CreateFDRequest) { override fun stepThreeApi(data: CreateFDRequest) {
Log.e("stepThreeApi", " response ---> $data") Log.e("stepThreeApi", " response ---> $data")
// call create fd api // call create fd api
createFDApi(data, 3)
createFDApi(data, 3, "3")
} }
// step 4 response // step 4 response
@ -375,15 +407,15 @@ class BajajFdMainActivity : AppCompatActivity(), BajajFDInterface {
binding.viewPager.currentItem = 4 binding.viewPager.currentItem = 4
} }
private fun createFDApi(data: CreateFDRequest, currentItem: Int) {
if (Common.isNetworkAvailable(this@BajajFdMainActivity)){
private fun createFDApi(data: CreateFDRequest, currentItem: Int, step: String) {
if (Common.isNetworkAvailable(this@BajajFdMainActivity)) {
viewModel.createFDApi(data, token) viewModel.createFDApi(data, token)
viewModel.getFDResponseMutableData.observe(this) { response -> viewModel.getFDResponseMutableData.observe(this) { response ->
when (response) { when (response) {
is Resource.Success -> { is Resource.Success -> {
Log.e("response", "-->$response") Log.e("response", "-->$response")
val createFDApplicationResponse : CreateFDApplicationResponse =
val createFDApplicationResponse: CreateFDApplicationResponse =
Gson().fromJson( Gson().fromJson(
response.data?.toString(), response.data?.toString(),
CreateFDApplicationResponse::class.java CreateFDApplicationResponse::class.java
@ -392,17 +424,31 @@ class BajajFdMainActivity : AppCompatActivity(), BajajFDInterface {
when (code) { when (code) {
200 -> { 200 -> {
binding.viewPager.currentItem = currentItem binding.viewPager.currentItem = currentItem
StepFourBajajFDFragment.getInstance(this).getFDData(createFDApplicationResponse)
if (step == "2"){
val stepThreeBajajFDFragment: StepThreeBajajFDFragment =
sectionsPagerAdapter.getRegisteredFragment(stepCount - 1) as StepThreeBajajFDFragment
stepThreeBajajFDFragment.displayReceivedData(createFDApplicationResponse)
}
else{
val stepFourFDFragment: StepFourBajajFDFragment =
sectionsPagerAdapter.getRegisteredFragment(stepCount - 1) as StepFourBajajFDFragment
stepFourFDFragment.displayReceivedData(createFDApplicationResponse)
}
} }
// 650 -> refreshToken() // 650 -> refreshToken()
else -> {}
else -> {
showDialogValidation(
this@BajajFdMainActivity,
createFDApplicationResponse.Response.Errors[0].ErrorMessage
)
}
} }
} }
} }
is Resource.Error -> { is Resource.Error -> {
response.message?.let { message -> response.message?.let { message ->
Log.e(" ", "An error occurred:$message")
showDialogValidation(this@BajajFdMainActivity, message)
} }
} }
is Resource.Loading -> { is Resource.Loading -> {
@ -410,11 +456,6 @@ class BajajFdMainActivity : AppCompatActivity(), BajajFDInterface {
} }
} }
} }
} }
} }
} }

+ 13
- 0
app/src/main/java/com/nivesh/production/bajajfd/ui/activity/BaseActivity.kt View File

@ -0,0 +1,13 @@
package com.nivesh.production.bajajfd.ui.activity
import android.app.Activity
import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity
open class BaseActivity : AppCompatActivity() {
private lateinit var mActivity: Activity
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
mActivity = this
}
}

+ 21
- 0
app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/BaseFragment.kt View File

@ -0,0 +1,21 @@
package com.nivesh.production.bajajfd.ui.fragment
import android.content.Context
import android.os.Bundle
import androidx.fragment.app.Fragment
import com.nivesh.production.bajajfd.ui.activity.BaseActivity
open class BaseFragment : Fragment() {
protected var mActivity: BaseActivity? = null
override fun onAttach(context: Context) {
super.onAttach(context)
if (context is BaseActivity) {
mActivity = context
} else try {
throw ClassCastException("You need to extend BaseActivity to calling activity.")
} catch (e: Exception) {
e.printStackTrace()
}
}
}

+ 55
- 55
app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepFourBajajFDFragment.kt View File

@ -6,14 +6,13 @@ import android.view.LayoutInflater
import android.view.View import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
import androidx.fragment.app.Fragment import androidx.fragment.app.Fragment
import androidx.recyclerview.widget.LinearLayoutManager
import com.google.gson.Gson import com.google.gson.Gson
import com.nivesh.production.bajajfd.R import com.nivesh.production.bajajfd.R
import com.nivesh.production.bajajfd.adapter.CustomerListAdapter
import com.nivesh.production.bajajfd.databinding.FragmentBajajfdStepFourBinding import com.nivesh.production.bajajfd.databinding.FragmentBajajfdStepFourBinding
import com.nivesh.production.bajajfd.interfaces.BajajFDInterface import com.nivesh.production.bajajfd.interfaces.BajajFDInterface
import com.nivesh.production.bajajfd.model.CreateFDApplicationResponse
import com.nivesh.production.bajajfd.model.GetCodeRequest
import com.nivesh.production.bajajfd.model.GetCodeResponse
import com.nivesh.production.bajajfd.model.GetRatesRequest
import com.nivesh.production.bajajfd.model.*
import com.nivesh.production.bajajfd.ui.activity.BajajFdMainActivity import com.nivesh.production.bajajfd.ui.activity.BajajFdMainActivity
import com.nivesh.production.bajajfd.util.Common import com.nivesh.production.bajajfd.util.Common
import com.nivesh.production.bajajfd.util.Common.Companion.showDialogValidation import com.nivesh.production.bajajfd.util.Common.Companion.showDialogValidation
@ -21,12 +20,12 @@ import com.nivesh.production.bajajfd.util.Constants
import com.nivesh.production.bajajfd.util.Resource import com.nivesh.production.bajajfd.util.Resource
import com.nivesh.production.bajajfd.viewModel.StepFourBajajFDViewModel import com.nivesh.production.bajajfd.viewModel.StepFourBajajFDViewModel
class StepFourBajajFDFragment : Fragment() {
class StepFourBajajFDFragment : BaseFragment() {
private lateinit var stepFourBajajFDViewModel: StepFourBajajFDViewModel private lateinit var stepFourBajajFDViewModel: StepFourBajajFDViewModel
private var _binding: FragmentBajajfdStepFourBinding? = null private var _binding: FragmentBajajfdStepFourBinding? = null
private val binding get() = _binding!! private val binding get() = _binding!!
var uniqueId : String? = ""
private var uniqueId: String? = ""
private lateinit var bajajFDInterface: BajajFDInterface private lateinit var bajajFDInterface: BajajFDInterface
@ -42,7 +41,6 @@ class StepFourBajajFDFragment : Fragment() {
bajajFDInterface = bajajFDInterfaces bajajFDInterface = bajajFDInterfaces
} }
override fun onCreateView( override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?, inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle? savedInstanceState: Bundle?
@ -53,57 +51,41 @@ class StepFourBajajFDFragment : Fragment() {
stepFourBajajFDViewModel = (activity as BajajFdMainActivity).stepFourBajajFDViewModel stepFourBajajFDViewModel = (activity as BajajFdMainActivity).stepFourBajajFDViewModel
binding.tvInvestedAmount.text = ""
binding.tvTenure.text = ""
binding.tvInterestPayout.text = ""
binding.tvRateOfInterest.text = ""
binding.swDirectorBajajFinance.setOnCheckedChangeListener { _, _ ->
}
binding.swPromoterBajajFinance.setOnCheckedChangeListener { _, _ ->
}
binding.swRelativeDirector.setOnCheckedChangeListener { _, _ ->
}
binding.swShareholder.setOnCheckedChangeListener { _, _ ->
}
binding.swPoliticallyExposed.setOnCheckedChangeListener { _, _ ->
}
binding.swCitizen.setOnCheckedChangeListener { _, _ ->
}
binding.checkBox.setOnCheckedChangeListener { _, _ -> binding.checkBox.setOnCheckedChangeListener { _, _ ->
} }
binding.btnNext.setOnClickListener { binding.btnNext.setOnClickListener {
if (binding.checkBox.isChecked) { if (binding.checkBox.isChecked) {
bajajFDInterface.stepFourApi("stepFourResponse") bajajFDInterface.stepFourApi("stepFourResponse")
}else{
showDialogValidation(activity as BajajFdMainActivity, resources.getString(R.string.validTermsConditions))
} else {
showDialogValidation(
activity as BajajFdMainActivity,
resources.getString(R.string.validTermsConditions)
)
} }
} }
binding.btnBack.setOnClickListener{
(activity as BajajFdMainActivity).binding.viewPager.currentItem = 2
}
return root return root
} }
fun getFDData(createFDApplicationResponse: CreateFDApplicationResponse) {
uniqueId = createFDApplicationResponse.Response.FDCreationDetailsResponse.UniqueId
//
fun displayReceivedData(createFDApplicationResponse: CreateFDApplicationResponse) {
Log.e("createFDApplication", "Response-->"+createFDApplicationResponse.Response.FDCreationDetailsResponse.UniqueId)
uniqueId = createFDApplicationResponse.Response.FDCreationDetailsResponse.UniqueId
getFDDetailsApi(createFDApplicationResponse.Response.FDCreationDetailsResponse.UniqueId)
customerListApi()
} }
private fun paymentModeApi() {
private fun customerListApi() {
if (Common.isNetworkAvailable(activity as BajajFdMainActivity)) { if (Common.isNetworkAvailable(activity as BajajFdMainActivity)) {
val getCodeRequest = GetCodeRequest() val getCodeRequest = GetCodeRequest()
getCodeRequest.ProductName = getString(R.string.bajajFD) getCodeRequest.ProductName = getString(R.string.bajajFD)
getCodeRequest.Category = getString(R.string.genderCategory)
getCodeRequest.Category = getString(R.string.customerCategory)
getCodeRequest.Language = getString(R.string.language) getCodeRequest.Language = getString(R.string.language)
getCodeRequest.InputValue = "" getCodeRequest.InputValue = ""
stepFourBajajFDViewModel.paymentModeApi(getCodeRequest, Constants.token) stepFourBajajFDViewModel.paymentModeApi(getCodeRequest, Constants.token)
@ -116,7 +98,9 @@ class StepFourBajajFDFragment : Fragment() {
getCodeResponse.Response.StatusCode.let { code -> getCodeResponse.Response.StatusCode.let { code ->
when (code) { when (code) {
200 -> { 200 -> {
if (getCodeResponse.Response.GetCodesList.isNotEmpty()) {
setUpRecyclerView(getCodeResponse.Response.GetCodesList)
}
} }
// 650 -> refreshToken() // 650 -> refreshToken()
else -> {} else -> {}
@ -139,24 +123,41 @@ class StepFourBajajFDFragment : Fragment() {
} }
private fun getFDDetailsApi() {
if (Common.isNetworkAvailable(activity as BajajFdMainActivity)) {
val getCodeRequest = GetRatesRequest()
stepFourBajajFDViewModel.getFDDetails(getCodeRequest, Constants.token)
private fun setUpRecyclerView(getCustomerList: List<GetCodes>) {
binding.rvTerms.layoutManager =
LinearLayoutManager(activity as BajajFdMainActivity)
val customerListAdapter = CustomerListAdapter(getCustomerList)
binding.rvTerms.adapter = customerListAdapter
}
private fun getFDDetailsApi(uniqueId: String) {
if (Common.isNetworkAvailable(mActivity!!)) {
val getFDDetailsRequest = GetFDDetailsRequest()
getFDDetailsRequest.FDProvider = mActivity!!.getString(R.string.bajaj)
getFDDetailsRequest.NiveshClientCode = (mActivity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_CODE
getFDDetailsRequest.UniqueId = uniqueId
stepFourBajajFDViewModel.getFDDetails(getFDDetailsRequest, Constants.token)
stepFourBajajFDViewModel.getFDDetailsMutableData.observe(viewLifecycleOwner) { response -> stepFourBajajFDViewModel.getFDDetailsMutableData.observe(viewLifecycleOwner) { response ->
when (response) { when (response) {
is Resource.Success -> { is Resource.Success -> {
Log.e("response", "-->$response") Log.e("response", "-->$response")
val getCodeResponse: GetCodeResponse =
Gson().fromJson(response.data?.toString(), GetCodeResponse::class.java)
getCodeResponse.Response.StatusCode.let { code ->
val getFDDetailsResponse: GetFDDetailsResponse =
Gson().fromJson(
response.data?.toString(),
GetFDDetailsResponse::class.java
)
getFDDetailsResponse.Response.StatusCode.let { code ->
when (code) { when (code) {
200 -> { 200 -> {
binding.tvInvestedAmount.text = ""
binding.tvTenure.text = ""
binding.tvInterestPayout.text = ""
binding.tvRateOfInterest.text = ""
binding.tvInvestedAmount.text =
getFDDetailsResponse.Response.FDDataResponse.FDAmount.toString()
binding.tvTenure.text =
getFDDetailsResponse.Response.FDDataResponse.Tenure.toString()
binding.tvInterestPayout.text =
getFDDetailsResponse.Response.FDDataResponse.Frequency
binding.tvRateOfInterest.text =
getFDDetailsResponse.Response.FDDataResponse.RateOfInterest.toString()
} }
// 650 -> refreshToken() // 650 -> refreshToken()
else -> {} else -> {}
@ -174,12 +175,11 @@ class StepFourBajajFDFragment : Fragment() {
} }
} }
} }
} }
} }
override fun onDestroyView() {
override fun onDestroyView() {
super.onDestroyView() super.onDestroyView()
_binding = null _binding = null
} }

+ 35
- 12
app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepOneBajajFDFragment.kt View File

@ -31,7 +31,7 @@ import com.nivesh.production.bajajfd.util.Resource
import com.nivesh.production.bajajfd.viewModel.StepOneBajajFDViewModel import com.nivesh.production.bajajfd.viewModel.StepOneBajajFDViewModel
class StepOneBajajFDFragment : Fragment() {
class StepOneBajajFDFragment : BaseFragment() {
private var _binding: FragmentBajajfdStepOneBinding? = null private var _binding: FragmentBajajfdStepOneBinding? = null
private val binding get() = _binding!! private val binding get() = _binding!!
@ -145,7 +145,7 @@ class StepOneBajajFDFragment : Fragment() {
(activity as BajajFdMainActivity).fdInvestmentDetails.NiveshClientCode = "8872" (activity as BajajFdMainActivity).fdInvestmentDetails.NiveshClientCode = "8872"
(activity as BajajFdMainActivity).fdInvestmentDetails.Provider = (activity as BajajFdMainActivity).fdInvestmentDetails.Provider =
getString(R.string.bajaj) getString(R.string.bajaj)
(activity as BajajFdMainActivity).fdInvestmentDetails.IPAddress = ""
(activity as BajajFdMainActivity).fdInvestmentDetails.IPAddress = "192.168.1.23"
(activity as BajajFdMainActivity).fdInvestmentDetails.Device = (activity as BajajFdMainActivity).fdInvestmentDetails.Device =
getString(R.string.app) getString(R.string.app)
(activity as BajajFdMainActivity).fdInvestmentDetails.Source = (activity as BajajFdMainActivity).fdInvestmentDetails.Source =
@ -206,14 +206,19 @@ class StepOneBajajFDFragment : Fragment() {
} }
} }
// 650 -> refreshToken() // 650 -> refreshToken()
else -> {}
else -> {
Common.showDialogValidation(
activity as BajajFdMainActivity,
getCodeResponse.Response.Errors[0].ErrorMessage
)
}
} }
} }
} }
is Resource.Error -> { is Resource.Error -> {
response.message?.let { message -> response.message?.let { message ->
Log.e(" ", "An error occurred:$message")
Common.showDialogValidation(activity as BajajFdMainActivity, message)
} }
} }
is Resource.Loading -> { is Resource.Loading -> {
@ -248,14 +253,19 @@ class StepOneBajajFDFragment : Fragment() {
maxAmountApi() maxAmountApi()
} }
// 650 -> refreshToken() // 650 -> refreshToken()
else -> {}
else -> {
Common.showDialogValidation(
activity as BajajFdMainActivity,
getCodeResponse.Response.Errors[0].ErrorMessage
)
}
} }
} }
} }
is Resource.Error -> { is Resource.Error -> {
response.message?.let { message -> response.message?.let { message ->
Log.e(" ", "An error occurred:$message")
Common.showDialogValidation(activity as BajajFdMainActivity, message)
} }
} }
is Resource.Loading -> { is Resource.Loading -> {
@ -284,14 +294,19 @@ class StepOneBajajFDFragment : Fragment() {
listOfMaxAmount = getCodeResponse.Response.GetCodesList listOfMaxAmount = getCodeResponse.Response.GetCodesList
} }
// 650 -> refreshToken() // 650 -> refreshToken()
else -> {}
else -> {
Common.showDialogValidation(
activity as BajajFdMainActivity,
getCodeResponse.Response.Errors[0].ErrorMessage
)
}
} }
} }
} }
is Resource.Error -> { is Resource.Error -> {
response.message?.let { message -> response.message?.let { message ->
Log.e(" ", "An error occurred:$message")
Common.showDialogValidation(activity as BajajFdMainActivity, message)
} }
} }
is Resource.Loading -> { is Resource.Loading -> {
@ -348,7 +363,10 @@ class StepOneBajajFDFragment : Fragment() {
} }
// 650 -> refreshToken() // 650 -> refreshToken()
else -> { else -> {
Common.showDialogValidation(
activity as BajajFdMainActivity,
getMaturityAmountResponse.Response.Errors[0].ErrorMessage
)
} }
} }
} }
@ -356,7 +374,7 @@ class StepOneBajajFDFragment : Fragment() {
is Resource.Error -> { is Resource.Error -> {
response.message?.let { message -> response.message?.let { message ->
Log.e(" ", "An error occurred:$message")
Common.showDialogValidation(activity as BajajFdMainActivity, message)
} }
} }
is Resource.Loading -> { is Resource.Loading -> {
@ -462,14 +480,19 @@ class StepOneBajajFDFragment : Fragment() {
} }
} }
// 650 -> refreshToken() // 650 -> refreshToken()
else -> {}
else -> {
Common.showDialogValidation(
activity as BajajFdMainActivity,
getRatesResponse.Response.Errors[0].ErrorMessage
)
}
} }
} }
} }
is Resource.Error -> { is Resource.Error -> {
response.message?.let { message -> response.message?.let { message ->
Log.e(" ", "An error occurred:$message")
Common.showDialogValidation(activity as BajajFdMainActivity, message)
} }
} }
is Resource.Loading -> { is Resource.Loading -> {


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

@ -45,7 +45,7 @@ import java.io.FileInputStream
import java.io.IOException import java.io.IOException
import java.io.InputStream import java.io.InputStream
class StepThreeBajajFDFragment : Fragment() {
class StepThreeBajajFDFragment : BaseFragment() {
private var latestTmpUri: Uri? = null private var latestTmpUri: Uri? = null
private var _binding: FragmentBajajfdStepThreeBinding? = null private var _binding: FragmentBajajfdStepThreeBinding? = null
@ -54,7 +54,7 @@ class StepThreeBajajFDFragment : Fragment() {
private lateinit var bajajFDInterface: BajajFDInterface private lateinit var bajajFDInterface: BajajFDInterface
private lateinit var stepThreeBajajFDViewModel: StepThreeBajajFDViewModel private lateinit var stepThreeBajajFDViewModel: StepThreeBajajFDViewModel
private var uniqueId: String? = ""
private lateinit var dialog: Dialog private lateinit var dialog: Dialog
private lateinit var front: String private lateinit var front: String
@ -382,7 +382,7 @@ class StepThreeBajajFDFragment : Fragment() {
is Resource.Error -> { is Resource.Error -> {
response.message?.let { message -> response.message?.let { message ->
Log.e(" ", "An error occurred:$message")
Common.showDialogValidation(activity as BajajFdMainActivity, message)
} }
} }
is Resource.Loading -> { is Resource.Loading -> {
@ -426,4 +426,8 @@ class StepThreeBajajFDFragment : Fragment() {
super.onDestroyView() super.onDestroyView()
_binding = null _binding = null
} }
fun displayReceivedData(createFDApplicationResponse: CreateFDApplicationResponse) {
uniqueId = createFDApplicationResponse.Response.FDCreationDetailsResponse.UniqueId
}
} }

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

@ -23,6 +23,7 @@ import com.google.android.material.textfield.TextInputEditText
import com.google.gson.Gson import com.google.gson.Gson
import com.nivesh.production.bajajfd.R import com.nivesh.production.bajajfd.R
import com.nivesh.production.bajajfd.adapter.BankListAdapter import com.nivesh.production.bajajfd.adapter.BankListAdapter
import com.nivesh.production.bajajfd.adapter.PaymentModeAdapter
import com.nivesh.production.bajajfd.adapter.RecommendedBankListAdapter import com.nivesh.production.bajajfd.adapter.RecommendedBankListAdapter
import com.nivesh.production.bajajfd.databinding.FragmentBajajfdStepTwoBinding import com.nivesh.production.bajajfd.databinding.FragmentBajajfdStepTwoBinding
import com.nivesh.production.bajajfd.interfaces.BajajFDInterface import com.nivesh.production.bajajfd.interfaces.BajajFDInterface
@ -38,13 +39,14 @@ import com.nivesh.production.bajajfd.util.Common.Companion.isValidEmail
import com.nivesh.production.bajajfd.util.Common.Companion.isValidName import com.nivesh.production.bajajfd.util.Common.Companion.isValidName
import com.nivesh.production.bajajfd.util.Common.Companion.isValidPan import com.nivesh.production.bajajfd.util.Common.Companion.isValidPan
import com.nivesh.production.bajajfd.util.Common.Companion.removeError import com.nivesh.production.bajajfd.util.Common.Companion.removeError
import com.nivesh.production.bajajfd.util.Constants
import com.nivesh.production.bajajfd.util.Constants.Companion.token import com.nivesh.production.bajajfd.util.Constants.Companion.token
import com.nivesh.production.bajajfd.util.Resource import com.nivesh.production.bajajfd.util.Resource
import com.nivesh.production.bajajfd.viewModel.StepTwoBajajFDViewModel import com.nivesh.production.bajajfd.viewModel.StepTwoBajajFDViewModel
import java.util.* import java.util.*
class StepTwoBajajFDFragment : Fragment() {
class StepTwoBajajFDFragment : BaseFragment() {
private var _binding: FragmentBajajfdStepTwoBinding? = null private var _binding: FragmentBajajfdStepTwoBinding? = null
private val binding get() = _binding!! private val binding get() = _binding!!
@ -60,6 +62,8 @@ class StepTwoBajajFDFragment : Fragment() {
private lateinit var listOfRelationShip: List<GetCodes> private lateinit var listOfRelationShip: List<GetCodes>
private lateinit var listOfMaritalStatus: List<GetCodes> private lateinit var listOfMaritalStatus: List<GetCodes>
private lateinit var listOfOccupation: List<GetCodes> private lateinit var listOfOccupation: List<GetCodes>
private lateinit var listOfPayMode: List<GetCodes>
private lateinit var listOfStates: List<DataObject> private lateinit var listOfStates: List<DataObject>
private lateinit var listOfCities: List<DataObjectX> private lateinit var listOfCities: List<DataObjectX>
@ -67,8 +71,8 @@ class StepTwoBajajFDFragment : Fragment() {
private lateinit var stepTwoBajajFDViewModel: StepTwoBajajFDViewModel private lateinit var stepTwoBajajFDViewModel: StepTwoBajajFDViewModel
private lateinit var bankListAdapter: BankListAdapter private lateinit var bankListAdapter: BankListAdapter
private lateinit var paymentModeAdapter: PaymentModeAdapter
private lateinit var stateObject: DataObject private lateinit var stateObject: DataObject
private var retryCount: Int = 0
companion object { companion object {
fun getInstance(fdInterface: BajajFDInterface): StepTwoBajajFDFragment { fun getInstance(fdInterface: BajajFDInterface): StepTwoBajajFDFragment {
@ -99,6 +103,7 @@ class StepTwoBajajFDFragment : Fragment() {
listOfOccupation = ArrayList() listOfOccupation = ArrayList()
listOfStates = ArrayList() listOfStates = ArrayList()
listOfIFSC = ArrayList() listOfIFSC = ArrayList()
listOfPayMode = ArrayList()
stateObject = DataObject() stateObject = DataObject()
@ -123,7 +128,7 @@ class StepTwoBajajFDFragment : Fragment() {
} }
}) })
binding.edtMobileNumber.setText((activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.mobile) binding.edtMobileNumber.setText((activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.mobile)
binding.edtMobileNumber.setSelection(binding.edtMobileNumber.text.toString().length)
// create an OnDateSetListener // create an OnDateSetListener
if (!(activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_DOB.isNullOrEmpty()) { if (!(activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_DOB.isNullOrEmpty()) {
binding.edtDOB.setText(getDate((activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_DOB.toString())) binding.edtDOB.setText(getDate((activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_DOB.toString()))
@ -391,7 +396,11 @@ class StepTwoBajajFDFragment : Fragment() {
datePicker(binding.edtNomineeDOB) datePicker(binding.edtNomineeDOB)
} }
binding.spNomineeRelation.setText((activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.Nominees?.get(0)?.NomineeRelationship)
binding.spNomineeRelation.setText(
(activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.Nominees?.get(
0
)?.NomineeRelationship
)
binding.spNomineeRelation.setOnItemClickListener { _, _, _, _ -> binding.spNomineeRelation.setOnItemClickListener { _, _, _, _ ->
removeError(binding.tlNomineeRelation) removeError(binding.tlNomineeRelation)
} }
@ -523,11 +532,11 @@ class StepTwoBajajFDFragment : Fragment() {
} }
} }
rbPaymentMode.text = getString(R.string.Upi)
binding.rgPaymentMode.setOnCheckedChangeListener { group, checkedId ->
rbPaymentMode = group.findViewById(checkedId)
Log.e("paymentMode", "-->" + rbPaymentMode.text)
}
// rbPaymentMode.text = getString(R.string.Upi)
// binding.rgPaymentMode.setOnCheckedChangeListener { group, checkedId ->
// rbPaymentMode = group.findViewById(checkedId)
// Log.e("paymentMode", "-->" + rbPaymentMode.text)
// }
binding.tvEligibleBankOption.setOnClickListener { binding.tvEligibleBankOption.setOnClickListener {
apiForEligibleBankList() apiForEligibleBankList()
@ -611,8 +620,9 @@ class StepTwoBajajFDFragment : Fragment() {
binding.edtAddressLine3.text.toString() binding.edtAddressLine3.text.toString()
(activity as BajajFdMainActivity).applicantDetails.ApplicantCity = (activity as BajajFdMainActivity).applicantDetails.ApplicantCity =
binding.spCity.text.toString() binding.spCity.text.toString()
// (activity as BajajFdMainActivity).applicantDetails.ApplicantState = binding.spState.text.toString()
(activity as BajajFdMainActivity).applicantDetails.ApplicantState = stateObject.State_Code
// (activity as BajajFdMainActivity).applicantDetails.ApplicantState = binding.spState.text.toString()
(activity as BajajFdMainActivity).applicantDetails.ApplicantState =
stateObject.State_Code
(activity as BajajFdMainActivity).applicantDetails.ApplicantCountry = "India" (activity as BajajFdMainActivity).applicantDetails.ApplicantCountry = "India"
(activity as BajajFdMainActivity).applicantDetails.ApplicantPincode = (activity as BajajFdMainActivity).applicantDetails.ApplicantPincode =
binding.edtPinCode.text.toString().toInt() binding.edtPinCode.text.toString().toInt()
@ -762,7 +772,10 @@ class StepTwoBajajFDFragment : Fragment() {
} }
// 650 -> refreshToken() // 650 -> refreshToken()
else -> { else -> {
Common.showDialogValidation(
activity as BajajFdMainActivity,
getIFSCCodeListResponse.Response.message
)
} }
} }
} }
@ -770,7 +783,10 @@ class StepTwoBajajFDFragment : Fragment() {
is Resource.Error -> { is Resource.Error -> {
response.message?.let { message -> response.message?.let { message ->
Log.e(" ", "An error occurred:$message")
Common.showDialogValidation(
activity as BajajFdMainActivity,
message
)
} }
} }
is Resource.Loading -> { is Resource.Loading -> {
@ -801,7 +817,10 @@ class StepTwoBajajFDFragment : Fragment() {
} }
// 650 -> refreshToken() // 650 -> refreshToken()
else -> { else -> {
Common.showDialogValidation(
activity as BajajFdMainActivity,
getIFSCCodeResponse.Response.message
)
} }
} }
} }
@ -809,7 +828,7 @@ class StepTwoBajajFDFragment : Fragment() {
is Resource.Error -> { is Resource.Error -> {
response.message?.let { message -> response.message?.let { message ->
Log.e(" ", "An error occurred:$message")
Common.showDialogValidation(activity as BajajFdMainActivity, message)
} }
} }
is Resource.Loading -> { is Resource.Loading -> {
@ -868,6 +887,9 @@ class StepTwoBajajFDFragment : Fragment() {
} }
} }
private fun datePicker(edtDOB: TextInputEditText) { private fun datePicker(edtDOB: TextInputEditText) {
val year = cal.get(Calendar.YEAR) val year = cal.get(Calendar.YEAR)
val month = cal.get(Calendar.MONTH) val month = cal.get(Calendar.MONTH)
@ -940,7 +962,7 @@ class StepTwoBajajFDFragment : Fragment() {
is Resource.Error -> { is Resource.Error -> {
response.message?.let { message -> response.message?.let { message ->
Log.e(" ", "An error occurred:$message")
Common.showDialogValidation(activity as BajajFdMainActivity, message)
} }
} }
is Resource.Loading -> { is Resource.Loading -> {
@ -970,7 +992,6 @@ class StepTwoBajajFDFragment : Fragment() {
getCodeResponse.Response.StatusCode.let { code -> getCodeResponse.Response.StatusCode.let { code ->
when (code) { when (code) {
200 -> { 200 -> {
retryCount = 0
listOfTitle = getCodeResponse.Response.GetCodesList listOfTitle = getCodeResponse.Response.GetCodesList
if (listOfTitle.isNotEmpty()) { if (listOfTitle.isNotEmpty()) {
val adapter = ArrayAdapter( val adapter = ArrayAdapter(
@ -1022,10 +1043,15 @@ class StepTwoBajajFDFragment : Fragment() {
occupationApi() occupationApi()
annualIncomeApi() annualIncomeApi()
stateListApi() stateListApi()
paymentModeApi()
} }
650 -> refreshToken()
// 650 -> refreshToken()
else -> { else -> {
Common.showDialogValidation(
activity as BajajFdMainActivity,
getCodeResponse.Response.Errors[0].ErrorMessage
)
} }
} }
} }
@ -1033,7 +1059,7 @@ class StepTwoBajajFDFragment : Fragment() {
is Resource.Error -> { is Resource.Error -> {
response.message?.let { message -> response.message?.let { message ->
Log.e(" ", "An error occurred:$message")
Common.showDialogValidation(activity as BajajFdMainActivity, message)
} }
} }
is Resource.Loading -> { is Resource.Loading -> {
@ -1045,14 +1071,65 @@ class StepTwoBajajFDFragment : Fragment() {
} }
} }
private fun refreshToken() {
// retryCount++
// if(retryCount<=2){
// titleApi()
// }
private fun paymentModeApi() {
if (Common.isNetworkAvailable(activity as BajajFdMainActivity)) {
val getCodeRequest = GetCodeRequest()
getCodeRequest.ProductName = getString(R.string.bajajFD)
getCodeRequest.Category = getString(R.string.paymentModeCategory)
getCodeRequest.Language = getString(R.string.language)
getCodeRequest.InputValue = ""
stepTwoBajajFDViewModel.paymentModeApi(getCodeRequest, Constants.token)
stepTwoBajajFDViewModel.getPaymentModeMutableData.observe(viewLifecycleOwner) { response ->
when (response) {
is Resource.Success -> {
Log.e("response", "-->$response")
val getCodeResponse: GetCodeResponse =
Gson().fromJson(response.data?.toString(), GetCodeResponse::class.java)
getCodeResponse.Response.StatusCode.let { code ->
when (code) {
200 -> {
if (getCodeResponse.Response.GetCodesList.isNotEmpty()){
listOfPayMode = getCodeResponse.Response.GetCodesList
setUpRecyclerViewPaymentMode(listOfPayMode)
}
}
// 650 -> refreshToken()
else -> {
Common.showDialogValidation(
activity as BajajFdMainActivity,
getCodeResponse.Response.Errors[0].ErrorMessage
)
}
}
}
}
is Resource.Error -> {
response.message?.let { message ->
Common.showDialogValidation(activity as BajajFdMainActivity, message)
}
}
is Resource.Loading -> {
}
}
}
}
}
private fun setUpRecyclerViewPaymentMode(listOfPayMode: List<GetCodes>) {
binding.rvPaymentMode.layoutManager =
LinearLayoutManager(activity as BajajFdMainActivity)
paymentModeAdapter = PaymentModeAdapter(
listOfPayMode,
listOfPayMode[0].Value
)
binding.rvPaymentMode.adapter = paymentModeAdapter
} }
private fun genderApi() { private fun genderApi() {
if (Common.isNetworkAvailable(activity as BajajFdMainActivity)) { if (Common.isNetworkAvailable(activity as BajajFdMainActivity)) {
val getCodeRequest = GetCodeRequest() val getCodeRequest = GetCodeRequest()
@ -1070,7 +1147,6 @@ class StepTwoBajajFDFragment : Fragment() {
getCodeResponse.Response.StatusCode.let { code -> getCodeResponse.Response.StatusCode.let { code ->
when (code) { when (code) {
200 -> { 200 -> {
retryCount = 0
listOfGender = getCodeResponse.Response.GetCodesList listOfGender = getCodeResponse.Response.GetCodesList
if (listOfGender.isNotEmpty()) { if (listOfGender.isNotEmpty()) {
val adapter = ArrayAdapter( val adapter = ArrayAdapter(
@ -1087,10 +1163,10 @@ class StepTwoBajajFDFragment : Fragment() {
} }
// 650 -> refreshToken() // 650 -> refreshToken()
else -> { else -> {
retryCount++
if(retryCount<=2){
genderApi()
}
Common.showDialogValidation(
activity as BajajFdMainActivity,
getCodeResponse.Response.Errors[0].ErrorMessage
)
} }
} }
} }
@ -1098,7 +1174,7 @@ class StepTwoBajajFDFragment : Fragment() {
is Resource.Error -> { is Resource.Error -> {
response.message?.let { message -> response.message?.let { message ->
Log.e(" ", "An error occurred:$message")
Common.showDialogValidation(activity as BajajFdMainActivity, message)
} }
} }
is Resource.Loading -> { is Resource.Loading -> {
@ -1150,14 +1226,19 @@ class StepTwoBajajFDFragment : Fragment() {
} }
} }
// 650 -> refreshToken() // 650 -> refreshToken()
else -> {}
else -> {
Common.showDialogValidation(
activity as BajajFdMainActivity,
getCodeResponse.Response.Errors[0].ErrorMessage
)
}
} }
} }
} }
is Resource.Error -> { is Resource.Error -> {
response.message?.let { message -> response.message?.let { message ->
Log.e(" ", "An error occurred:$message")
Common.showDialogValidation(activity as BajajFdMainActivity, message)
} }
} }
is Resource.Loading -> { is Resource.Loading -> {
@ -1202,14 +1283,19 @@ class StepTwoBajajFDFragment : Fragment() {
} }
} }
// 650 -> refreshToken() // 650 -> refreshToken()
else -> {}
else -> {
Common.showDialogValidation(
activity as BajajFdMainActivity,
getCodeResponse.Response.Errors[0].ErrorMessage
)
}
} }
} }
} }
is Resource.Error -> { is Resource.Error -> {
response.message?.let { message -> response.message?.let { message ->
Log.e(" ", "An error occurred:$message")
Common.showDialogValidation(activity as BajajFdMainActivity, message)
} }
} }
is Resource.Loading -> { is Resource.Loading -> {
@ -1254,14 +1340,19 @@ class StepTwoBajajFDFragment : Fragment() {
} }
} }
// 650 -> refreshToken() // 650 -> refreshToken()
else -> {}
else -> {
Common.showDialogValidation(
activity as BajajFdMainActivity,
getCodeResponse.Response.Errors[0].ErrorMessage
)
}
} }
} }
} }
is Resource.Error -> { is Resource.Error -> {
response.message?.let { message -> response.message?.let { message ->
Log.e(" ", "An error occurred:$message")
Common.showDialogValidation(activity as BajajFdMainActivity, message)
} }
} }
is Resource.Loading -> { is Resource.Loading -> {
@ -1306,14 +1397,19 @@ class StepTwoBajajFDFragment : Fragment() {
} }
} }
// 650 -> refreshToken() // 650 -> refreshToken()
else -> {}
else -> {
Common.showDialogValidation(
activity as BajajFdMainActivity,
getCodeResponse.Response.Errors[0].ErrorMessage
)
}
} }
} }
} }
is Resource.Error -> { is Resource.Error -> {
response.message?.let { message -> response.message?.let { message ->
Log.e(" ", "An error occurred:$message")
Common.showDialogValidation(activity as BajajFdMainActivity, message)
} }
} }
is Resource.Loading -> { is Resource.Loading -> {
@ -1359,14 +1455,14 @@ class StepTwoBajajFDFragment : Fragment() {
cityListApi(adapter.getItem(0)?.State_Id) cityListApi(adapter.getItem(0)?.State_Id)
stateObject = adapter.getItem(0) as DataObject stateObject = adapter.getItem(0) as DataObject
Log.e("if", " -->"+stateObject.State_Code)
Log.e("if", " -->" + stateObject.State_Code)
} else { } else {
for (title in listOfStates) { for (title in listOfStates) {
if (title.State_Code == newTitleText) { if (title.State_Code == newTitleText) {
binding.spState.setText(title.State_Name, false) binding.spState.setText(title.State_Name, false)
cityListApi(title.State_Id) cityListApi(title.State_Id)
stateObject = title
Log.e("else", " -->"+stateObject.State_Code)
stateObject = title
Log.e("else", " -->" + stateObject.State_Code)
break break
} }
} }
@ -1374,14 +1470,19 @@ class StepTwoBajajFDFragment : Fragment() {
} }
} }
// 650 -> refreshToken() // 650 -> refreshToken()
else -> {}
else -> {
Common.showDialogValidation(
activity as BajajFdMainActivity,
stateListResponse.response.message
)
}
} }
} }
} }
is Resource.Error -> { is Resource.Error -> {
response.message?.let { message -> response.message?.let { message ->
Log.e(" ", "An error occurred:$message")
Common.showDialogValidation(activity as BajajFdMainActivity, message)
} }
} }
is Resource.Loading -> { is Resource.Loading -> {
@ -1446,14 +1547,19 @@ class StepTwoBajajFDFragment : Fragment() {
} }
} }
// 650 -> refreshToken() // 650 -> refreshToken()
else -> {}
else -> {
Common.showDialogValidation(
activity as BajajFdMainActivity,
cityListResponse.response.message
)
}
} }
} }
} }
is Resource.Error -> { is Resource.Error -> {
response.message?.let { message -> response.message?.let { message ->
Log.e(" ", "An error occurred:$message")
Common.showDialogValidation(activity as BajajFdMainActivity, message)
} }
} }
is Resource.Loading -> { is Resource.Loading -> {
@ -1483,14 +1589,19 @@ class StepTwoBajajFDFragment : Fragment() {
} }
} }
// 650 -> refreshToken() // 650 -> refreshToken()
else -> {}
else -> {
Common.showDialogValidation(
activity as BajajFdMainActivity,
getFDBankListResponse.Response.Errors[0].ErrorMessage
)
}
} }
} }
} }
is Resource.Error -> { is Resource.Error -> {
response.message?.let { message -> response.message?.let { message ->
Log.e(" ", "An error occurred:$message")
Common.showDialogValidation(activity as BajajFdMainActivity, message)
} }
} }
is Resource.Loading -> { is Resource.Loading -> {


+ 38
- 16
app/src/main/java/com/nivesh/production/bajajfd/util/Common.kt View File

@ -1,6 +1,5 @@
package com.nivesh.production.bajajfd.util package com.nivesh.production.bajajfd.util
import android.annotation.SuppressLint
import android.app.Activity import android.app.Activity
import android.app.AlertDialog import android.app.AlertDialog
import android.content.Context import android.content.Context
@ -14,10 +13,12 @@ import android.util.Patterns
import com.google.android.material.textfield.MaterialAutoCompleteTextView import com.google.android.material.textfield.MaterialAutoCompleteTextView
import com.google.android.material.textfield.TextInputEditText import com.google.android.material.textfield.TextInputEditText
import com.google.android.material.textfield.TextInputLayout import com.google.android.material.textfield.TextInputLayout
import com.google.gson.JsonObject
import com.nivesh.production.bajajfd.R import com.nivesh.production.bajajfd.R
import com.nivesh.production.bajajfd.ui.activity.BaseActivity
import retrofit2.HttpException
import java.io.IOException
import java.text.SimpleDateFormat import java.text.SimpleDateFormat
import java.time.LocalDate
import java.time.format.DateTimeFormatter
import java.util.* import java.util.*
import java.util.regex.Matcher import java.util.regex.Matcher
import java.util.regex.Pattern import java.util.regex.Pattern
@ -25,7 +26,7 @@ import java.util.regex.Pattern
class Common { class Common {
companion object{
companion object {
/** /**
*Before use this method write following code in model class *Before use this method write following code in model class
app:Application(in activity and model) app:Application(in activity and model)
@ -33,10 +34,12 @@ class Common {
val connectivityManager = getApplication<NewsApplication>().getSystemService(.... val connectivityManager = getApplication<NewsApplication>().getSystemService(....
**/ **/
//internet check //internet check
fun isNetworkAvailable(activity: Activity): Boolean {
fun isNetworkAvailable(activity: BaseActivity): Boolean {
val connectivityManager = activity.getSystemService( val connectivityManager = activity.getSystemService(
Context.CONNECTIVITY_SERVICE Context.CONNECTIVITY_SERVICE
) as ConnectivityManager ) as ConnectivityManager
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
val activeNetwork = connectivityManager.activeNetwork ?: return false val activeNetwork = connectivityManager.activeNetwork ?: return false
@ -63,11 +66,11 @@ class Common {
//valid email check //valid email check
fun isValidEmail(target: String?): Boolean { fun isValidEmail(target: String?): Boolean {
return Patterns.EMAIL_ADDRESS.matcher(target.toString()).matches()
return Patterns.EMAIL_ADDRESS.matcher(target.toString()).matches()
} }
//valid Name Check //valid Name Check
fun isValidName(nameText: String?): Boolean {
fun isValidName(nameText: String?): Boolean {
val pattern = Pattern.compile(("^[a-zA-Z\\s]{2,70}$")) val pattern = Pattern.compile(("^[a-zA-Z\\s]{2,70}$"))
val matcher = pattern.matcher(nameText.toString()) val matcher = pattern.matcher(nameText.toString())
return matcher.matches() return matcher.matches()
@ -95,7 +98,7 @@ class Common {
fun removeError(textInputLayout: TextInputLayout) { fun removeError(textInputLayout: TextInputLayout) {
if (textInputLayout.error != null) { if (textInputLayout.error != null) {
textInputLayout.error = null textInputLayout.error = null
if(textInputLayout.isErrorEnabled){
if (textInputLayout.isErrorEnabled) {
textInputLayout.isErrorEnabled = false; textInputLayout.isErrorEnabled = false;
} }
} }
@ -127,7 +130,7 @@ class Common {
} }
// set Default Step // set Default Step
fun defaultShape(): GradientDrawable {
fun defaultShape(): GradientDrawable {
val shape = GradientDrawable() val shape = GradientDrawable()
shape.shape = GradientDrawable.OVAL shape.shape = GradientDrawable.OVAL
shape.setColor(Color.WHITE) shape.setColor(Color.WHITE)
@ -136,7 +139,7 @@ class Common {
} }
// set Selected Step // set Selected Step
fun selectedShape(): GradientDrawable {
fun selectedShape(): GradientDrawable {
val shape = GradientDrawable() val shape = GradientDrawable()
shape.shape = GradientDrawable.OVAL shape.shape = GradientDrawable.OVAL
shape.setColor(Color.parseColor(Colors.colorDefault)) shape.setColor(Color.parseColor(Colors.colorDefault))
@ -144,13 +147,13 @@ class Common {
return shape return shape
} }
fun commonErrorMethod(
fun commonErrorMethod(
inputText: TextInputEditText, inputText: TextInputEditText,
inputError: TextInputLayout, inputError: TextInputLayout,
strMessage: String strMessage: String
): Boolean { ): Boolean {
inputText.requestFocus() inputText.requestFocus()
inputError.error = strMessage
inputError.error = strMessage
return false return false
} }
@ -164,7 +167,7 @@ class Common {
return false return false
} }
fun commonSpinnerErrorMethod(
fun commonSpinnerErrorMethod(
inputText: MaterialAutoCompleteTextView, inputText: MaterialAutoCompleteTextView,
inputError: TextInputLayout, inputError: TextInputLayout,
strMessage: String strMessage: String
@ -174,12 +177,31 @@ class Common {
return false return false
} }
fun getDate(string :String): String {
fun getDate(string: String): String {
val input = SimpleDateFormat("dd/MM/yyyy", Locale.US) val input = SimpleDateFormat("dd/MM/yyyy", Locale.US)
val mDate : Date? = input.parse(string)
// val simpleDateFormat = SimpleDateFormat("dd MMM, yyyy", Locale.US)
val mDate: Date? = input.parse(string)
val simpleDateFormat = SimpleDateFormat("yyyy-MM-dd", Locale.US) val simpleDateFormat = SimpleDateFormat("yyyy-MM-dd", Locale.US)
return simpleDateFormat.format(mDate as Date) return simpleDateFormat.format(mDate as Date)
} }
fun handleRatesResponse(response: retrofit2.Response<JsonObject>): Resource<JsonObject> {
try {
if (response.isSuccessful && response.body() != null) {
response.body()?.let { resultResponse ->
return Resource.Success(resultResponse)
}
}
} catch (t: Throwable) {
return when (t) {
is IOException -> Resource.Error("Response : " + t.message.plus(" Cause: " + t.cause))
is HttpException -> Resource.Error("Response : " + t.message.plus(" Cause: " + t.cause))
else -> Resource.Error(t.localizedMessage?.toString() ?: "")
}
}
return Resource.Error(response.message())
}
} }
} }

+ 18
- 10
app/src/main/java/com/nivesh/production/bajajfd/viewModel/BajajFDViewModel.kt View File

@ -6,9 +6,9 @@ import androidx.lifecycle.viewModelScope
import com.google.gson.JsonObject import com.google.gson.JsonObject
import com.nivesh.production.bajajfd.model.CreateFDRequest import com.nivesh.production.bajajfd.model.CreateFDRequest
import com.nivesh.production.bajajfd.model.FDStepsCountRequest import com.nivesh.production.bajajfd.model.FDStepsCountRequest
import com.nivesh.production.bajajfd.model.GetRatesRequest
import com.nivesh.production.bajajfd.model.getClientDetailsRequest import com.nivesh.production.bajajfd.model.getClientDetailsRequest
import com.nivesh.production.bajajfd.repositories.MainRepository import com.nivesh.production.bajajfd.repositories.MainRepository
import com.nivesh.production.bajajfd.util.Common.Companion.handleRatesResponse
import com.nivesh.production.bajajfd.util.Resource import com.nivesh.production.bajajfd.util.Resource
import kotlinx.coroutines.launch import kotlinx.coroutines.launch
@ -30,19 +30,27 @@ class BajajFDViewModel(private val mainRepository: MainRepository) : ViewModel()
} }
val getFDResponseMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData() val getFDResponseMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
fun createFDApi(getRatesRequest: CreateFDRequest, token :String) = viewModelScope.launch {
fun createFDApi(getRatesRequest: CreateFDRequest, token: String) = viewModelScope.launch {
getFDResponseMutableData.postValue(Resource.Loading()) getFDResponseMutableData.postValue(Resource.Loading())
val response = mainRepository.createFDKYCResponse(getRatesRequest, token) val response = mainRepository.createFDKYCResponse(getRatesRequest, token)
getFDResponseMutableData.postValue(handleRatesResponse(response)) getFDResponseMutableData.postValue(handleRatesResponse(response))
} }
private fun handleRatesResponse(response: retrofit2.Response<JsonObject>): Resource<JsonObject> {
if (response.isSuccessful) {
response.body()?.let { resultResponse ->
return Resource.Success(resultResponse)
}
}
return Resource.Error(response.message())
}
// private fun handleRatesResponse(response: retrofit2.Response<JsonObject>): Resource<JsonObject> {
// try {
// if ( response.isSuccessful && response.body() != null) {
// response.body()?.let { resultResponse ->
// return Resource.Success(resultResponse)
// }
// }
// } catch (t: Throwable) {
// return when (t) {
// is IOException -> Resource.Error("Response : "+t.message.plus(" Cause: "+t.cause))
// is HttpException -> Resource.Error("Response : "+t.message.plus(" Cause: "+t.cause))
// else -> Resource.Error(t.localizedMessage?.toString() ?: "")
// }
// }
// return Resource.Error(response.message())
// }
} }

+ 11
- 23
app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepFourBajajFDViewModel.kt View File

@ -5,14 +5,15 @@ import androidx.lifecycle.ViewModel
import androidx.lifecycle.viewModelScope import androidx.lifecycle.viewModelScope
import com.google.gson.JsonObject import com.google.gson.JsonObject
import com.nivesh.production.bajajfd.model.GetCodeRequest import com.nivesh.production.bajajfd.model.GetCodeRequest
import com.nivesh.production.bajajfd.model.GetFDDetailsRequest
import com.nivesh.production.bajajfd.model.GetRatesRequest import com.nivesh.production.bajajfd.model.GetRatesRequest
import com.nivesh.production.bajajfd.repositories.MainRepository import com.nivesh.production.bajajfd.repositories.MainRepository
import com.nivesh.production.bajajfd.util.Common.Companion.handleRatesResponse
import com.nivesh.production.bajajfd.util.Resource import com.nivesh.production.bajajfd.util.Resource
import kotlinx.coroutines.launch import kotlinx.coroutines.launch
class StepFourBajajFDViewModel(private val mainRepository: MainRepository) : ViewModel() { class StepFourBajajFDViewModel(private val mainRepository: MainRepository) : ViewModel() {
val getPaymentModeMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData() val getPaymentModeMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
fun paymentModeApi(getCodeRequest: GetCodeRequest, token: String) = viewModelScope.launch { fun paymentModeApi(getCodeRequest: GetCodeRequest, token: String) = viewModelScope.launch {
getPaymentModeMutableData.postValue(Resource.Loading()) getPaymentModeMutableData.postValue(Resource.Loading())
@ -21,46 +22,33 @@ class StepFourBajajFDViewModel(private val mainRepository: MainRepository) : Vie
} }
val getFDDetailsMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData() val getFDDetailsMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
fun getFDDetails(getRatesRequest: GetRatesRequest, token : String) = viewModelScope.launch {
fun getFDDetails(getRatesRequest: GetFDDetailsRequest, token: String) = viewModelScope.launch {
getFDDetailsMutableData.postValue(Resource.Loading()) getFDDetailsMutableData.postValue(Resource.Loading())
val response = mainRepository.getFDDetailsResponse(getRatesRequest, token) val response = mainRepository.getFDDetailsResponse(getRatesRequest, token)
getFDDetailsMutableData.postValue(handleRatesResponse(response)) getFDDetailsMutableData.postValue(handleRatesResponse(response))
} }
private val getRatesMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData() private val getRatesMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
fun saveFDOtherData(getRatesRequest: GetRatesRequest, token : String) = viewModelScope.launch {
fun saveFDOtherData(getRatesRequest: GetRatesRequest, token: String) = viewModelScope.launch {
getRatesMutableData.postValue(Resource.Loading()) getRatesMutableData.postValue(Resource.Loading())
val response = mainRepository.saveFDOtherDataResponse(getRatesRequest, token) val response = mainRepository.saveFDOtherDataResponse(getRatesRequest, token)
getRatesMutableData.postValue(handleRatesResponse(response)) getRatesMutableData.postValue(handleRatesResponse(response))
} }
private fun handleRatesResponse(response: retrofit2.Response<JsonObject>): Resource<JsonObject> {
if (response.isSuccessful) {
response.body()?.let { resultResponse ->
return Resource.Success(resultResponse)
}
fun updateFDPaymentStatus(getRatesRequest: GetRatesRequest, token: String) =
viewModelScope.launch {
getRatesMutableData.postValue(Resource.Loading())
val response = mainRepository.updateFDPaymentStatusResponse(getRatesRequest, token)
getRatesMutableData.postValue(handleRatesResponse(response))
} }
return Resource.Error(response.message())
}
fun updateFDPaymentStatus(getRatesRequest: GetRatesRequest, token : String) = viewModelScope.launch {
getRatesMutableData.postValue(Resource.Loading())
val response = mainRepository.updateFDPaymentStatusResponse(getRatesRequest, token)
getRatesMutableData.postValue(handleRatesResponse(response))
}
fun finaliseFD(getRatesRequest: GetRatesRequest, token : String) = viewModelScope.launch {
fun finaliseFD(getRatesRequest: GetRatesRequest, token: String) = viewModelScope.launch {
getRatesMutableData.postValue(Resource.Loading()) getRatesMutableData.postValue(Resource.Loading())
val response = mainRepository.finaliseFDResponse(getRatesRequest, token) val response = mainRepository.finaliseFDResponse(getRatesRequest, token)
getRatesMutableData.postValue(handleRatesResponse(response)) getRatesMutableData.postValue(handleRatesResponse(response))
} }
fun finaliseKYC(getRatesRequest: GetRatesRequest, token : String) = viewModelScope.launch {
fun finaliseKYC(getRatesRequest: GetRatesRequest, token: String) = viewModelScope.launch {
getRatesMutableData.postValue(Resource.Loading()) getRatesMutableData.postValue(Resource.Loading())
val response = mainRepository.finaliseKYCResponse(getRatesRequest, token) val response = mainRepository.finaliseKYCResponse(getRatesRequest, token)
getRatesMutableData.postValue(handleRatesResponse(response)) getRatesMutableData.postValue(handleRatesResponse(response))


+ 10
- 11
app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepOneBajajFDViewModel.kt View File

@ -9,15 +9,14 @@ import com.nivesh.production.bajajfd.model.GetCodeRequest
import com.nivesh.production.bajajfd.model.GetMaturityAmountRequest import com.nivesh.production.bajajfd.model.GetMaturityAmountRequest
import com.nivesh.production.bajajfd.model.GetRatesRequest import com.nivesh.production.bajajfd.model.GetRatesRequest
import com.nivesh.production.bajajfd.repositories.MainRepository import com.nivesh.production.bajajfd.repositories.MainRepository
import com.nivesh.production.bajajfd.util.Common.Companion.handleRatesResponse
import com.nivesh.production.bajajfd.util.Constants.Companion.token import com.nivesh.production.bajajfd.util.Constants.Companion.token
import com.nivesh.production.bajajfd.util.Resource import com.nivesh.production.bajajfd.util.Resource
import kotlinx.coroutines.launch import kotlinx.coroutines.launch
class StepOneBajajFDViewModel(private val mainRepository: MainRepository) : ViewModel() { class StepOneBajajFDViewModel(private val mainRepository: MainRepository) : ViewModel() {
// TODO: Implement the ViewModel
val getCodeMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData() val getCodeMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
fun getCode(requestBody: GetCodeRequest, token : String) = viewModelScope.launch { fun getCode(requestBody: GetCodeRequest, token : String) = viewModelScope.launch {
getCodeMutableData.postValue(Resource.Loading()) getCodeMutableData.postValue(Resource.Loading())
val response = mainRepository.getCodesResponse(requestBody, token) val response = mainRepository.getCodesResponse(requestBody, token)
@ -59,14 +58,14 @@ class StepOneBajajFDViewModel(private val mainRepository: MainRepository) : View
getFDKYCMutableData.postValue(handleRatesResponse(response)) getFDKYCMutableData.postValue(handleRatesResponse(response))
} }
private fun handleRatesResponse(response: retrofit2.Response<JsonObject>): Resource<JsonObject> {
if (response.isSuccessful) {
response.body()?.let { resultResponse ->
return Resource.Success(resultResponse)
}
}
return Resource.Error(response.message())
}
// private fun handleRatesResponse(response: retrofit2.Response<JsonObject>): Resource<JsonObject> {
// if (response.isSuccessful) {
// response.body()?.let { resultResponse ->
// return Resource.Success(resultResponse)
// }
// }
// return Resource.Error(response.message())
//
// }
} }

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

@ -1,6 +1,8 @@
package com.nivesh.production.bajajfd.viewModel package com.nivesh.production.bajajfd.viewModel
import androidx.lifecycle.*
import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.ViewModel
import androidx.lifecycle.viewModelScope
import com.google.gson.JsonObject import com.google.gson.JsonObject
import com.nivesh.production.bajajfd.model.DocumentUpload import com.nivesh.production.bajajfd.model.DocumentUpload
import com.nivesh.production.bajajfd.model.GetCodeRequest import com.nivesh.production.bajajfd.model.GetCodeRequest


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

@ -6,25 +6,13 @@ import androidx.lifecycle.viewModelScope
import com.google.gson.JsonObject import com.google.gson.JsonObject
import com.nivesh.production.bajajfd.model.* import com.nivesh.production.bajajfd.model.*
import com.nivesh.production.bajajfd.repositories.MainRepository import com.nivesh.production.bajajfd.repositories.MainRepository
import com.nivesh.production.bajajfd.util.Common.Companion.handleRatesResponse
import com.nivesh.production.bajajfd.util.Resource import com.nivesh.production.bajajfd.util.Resource
import kotlinx.coroutines.launch import kotlinx.coroutines.launch
class StepTwoBajajFDViewModel(private val mainRepository: MainRepository) : ViewModel() { class StepTwoBajajFDViewModel(private val mainRepository: MainRepository) : ViewModel() {
// TODO: Implement the ViewModel
private val getRatesMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
val getPanCheckMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData() val getPanCheckMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
private fun handleRatesResponse(response: retrofit2.Response<JsonObject>): Resource<JsonObject> {
if (response.isSuccessful) {
response.body()?.let { resultResponse ->
return Resource.Success(resultResponse)
}
}
return Resource.Error(response.message())
}
fun panCheck(panCheck: PanCheckRequest, token: String) = viewModelScope.launch { fun panCheck(panCheck: PanCheckRequest, token: String) = viewModelScope.launch {
getPanCheckMutableData.postValue(Resource.Loading()) getPanCheckMutableData.postValue(Resource.Loading())
val response = mainRepository.panCheck(panCheck, token) val response = mainRepository.panCheck(panCheck, token)
@ -109,5 +97,11 @@ class StepTwoBajajFDViewModel(private val mainRepository: MainRepository) : View
getifscCodeDetailsCheckMutableData.postValue(handleRatesResponse(response)) getifscCodeDetailsCheckMutableData.postValue(handleRatesResponse(response))
} }
val getPaymentModeMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
fun paymentModeApi(getCodeRequest: GetCodeRequest, token: String) = viewModelScope.launch {
getPaymentModeMutableData.postValue(Resource.Loading())
val response = mainRepository.payModeCheck(getCodeRequest, token)
getPaymentModeMutableData.postValue(handleRatesResponse(response))
}
} }

+ 13
- 68
app/src/main/res/layout/fragment_bajajfd_step_four.xml View File

@ -202,82 +202,27 @@
android:text="@string/termsAndCondition" android:text="@string/termsAndCondition"
android:textColor="@color/black" android:textColor="@color/black"
android:textSize="@dimen/text_size_14" android:textSize="@dimen/text_size_14"
app:layout_constraintBottom_toTopOf="@+id/swDirectorBajajFinance"
app:layout_constraintBottom_toTopOf="@+id/llRVTerms"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/lblRateOfInterest" /> app:layout_constraintTop_toBottomOf="@+id/lblRateOfInterest" />
<com.google.android.material.switchmaterial.SwitchMaterial
android:id="@+id/swDirectorBajajFinance"
style="@style/regularStyle"
<LinearLayout
android:id="@+id/llRVTerms"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="@dimen/margin_15"
android:layout_marginEnd="@dimen/margin_15"
android:text="@string/directorOfBajajFinance"
android:layout_margin="@dimen/margin_5"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/tvTermsCondition" />
app:layout_constraintTop_toBottomOf="@+id/tvTermsCondition"
android:orientation="vertical">
<com.google.android.material.switchmaterial.SwitchMaterial
android:id="@+id/swPromoterBajajFinance"
style="@style/regularStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/margin_15"
android:layout_marginEnd="@dimen/margin_15"
android:text="@string/promoterOfBajajFinanceLtd"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/swDirectorBajajFinance" />
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rvTerms"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<com.google.android.material.switchmaterial.SwitchMaterial
android:id="@+id/swRelativeDirector"
style="@style/regularStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/margin_15"
android:layout_marginEnd="@dimen/margin_15"
android:text="@string/relativeOfBajajFinanceLtd"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/swPromoterBajajFinance" />
<com.google.android.material.switchmaterial.SwitchMaterial
android:id="@+id/swShareholder"
style="@style/regularStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/margin_15"
android:layout_marginEnd="@dimen/margin_15"
android:text="@string/shareholderOfBajajFinanceLtd"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/swRelativeDirector" />
<com.google.android.material.switchmaterial.SwitchMaterial
android:id="@+id/swPoliticallyExposed"
style="@style/regularStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/margin_15"
android:layout_marginEnd="@dimen/margin_15"
android:text="@string/politicallyExposedPerson"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/swShareholder" />
<com.google.android.material.switchmaterial.SwitchMaterial
android:id="@+id/swCitizen"
style="@style/regularStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/margin_15"
android:layout_marginEnd="@dimen/margin_15"
android:text="@string/outsideOfIndia"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/swPoliticallyExposed" />
</LinearLayout>
<CheckBox <CheckBox
android:id="@+id/checkBox" android:id="@+id/checkBox"
@ -285,7 +230,7 @@
android:layout_height="48dp" android:layout_height="48dp"
android:layout_marginTop="@dimen/margin_10" android:layout_marginTop="@dimen/margin_10"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/swCitizen" />
app:layout_constraintTop_toBottomOf="@+id/llRVTerms" />
<TextView <TextView
android:id="@+id/tvTermsAndCondition" android:id="@+id/tvTermsAndCondition"
@ -298,7 +243,7 @@
android:textSize="@dimen/text_size_12" android:textSize="@dimen/text_size_12"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/checkBox" app:layout_constraintStart_toEndOf="@+id/checkBox"
app:layout_constraintTop_toBottomOf="@+id/swCitizen" />
app:layout_constraintTop_toBottomOf="@+id/llRVTerms" />
</androidx.constraintlayout.widget.ConstraintLayout> </androidx.constraintlayout.widget.ConstraintLayout>


+ 8
- 18
app/src/main/res/layout/fragment_bajajfd_step_two.xml View File

@ -1010,28 +1010,18 @@
</LinearLayout> </LinearLayout>
<RadioGroup
android:id="@+id/rgPaymentMode"
<LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="@dimen/margin_10"
android:orientation="horizontal">
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:buttonTint="@color/black"
android:checked="true"
android:text="@string/Upi" />
android:layout_margin="@dimen/margin_5"
android:orientation="vertical">
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="50dp"
android:buttonTint="@color/black"
android:text="@string/netBanking" />
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rvPaymentMode"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</RadioGroup>
</LinearLayout>
<TextView <TextView
style="@style/regularStyle" style="@style/regularStyle"


+ 39
- 0
app/src/main/res/layout/item_customer_list_preview.xml View File

@ -0,0 +1,39 @@
<?xml version="1.0" encoding="utf-8"?>
<com.google.android.material.card.MaterialCardView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:cardBackgroundColor="@color/white"
app:cardCornerRadius="3dp"
app:cardElevation="3dp"
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" />
<TextView
android:id="@+id/tvBankName"
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" />
</LinearLayout>
</com.google.android.material.card.MaterialCardView>

+ 39
- 0
app/src/main/res/layout/item_payment_list_preview.xml View File

@ -0,0 +1,39 @@
<?xml version="1.0" encoding="utf-8"?>
<com.google.android.material.card.MaterialCardView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:cardBackgroundColor="@color/white"
app:cardCornerRadius="3dp"
app:cardElevation="3dp"
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" />
<TextView
android:id="@+id/tvBankName"
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" />
</LinearLayout>
</com.google.android.material.card.MaterialCardView>

+ 2
- 0
app/src/main/res/values-hi-rIN/strings.xml View File

@ -243,5 +243,7 @@
<string name="gallery">Gallery</string> <string name="gallery">Gallery</string>
<string name="camera">Camera</string> <string name="camera">Camera</string>
<string name="selectOption">Select Option</string> <string name="selectOption">Select Option</string>
<string name="paymentModeCategory">PaymentMode</string>
<string name="customerCategory">CustomerCategory</string>
</resources> </resources>

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

@ -244,6 +244,8 @@
<string name="selectOption">Select Option</string> <string name="selectOption">Select Option</string>
<string name="gallery">Gallery</string> <string name="gallery">Gallery</string>
<string name="camera">Camera</string> <string name="camera">Camera</string>
<string name="paymentModeCategory">PaymentMode</string>
<string name="customerCategory">CustomerCategory</string>
<array name="addressType"> <array name="addressType">
<item>Aadhaar Card</item> <item>Aadhaar Card</item>


Loading…
Cancel
Save

Powered by TurnKey Linux.