Browse Source

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

# Conflicts:
#	app/src/main/AndroidManifest.xml
#	app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepThreeBajajFDFragment.kt
#	app/src/main/java/com/nivesh/production/bajajfd/viewModel/BajajFDViewModel.kt
#	app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepThreeBajajFDViewModel.kt
Manoj 2 years ago
parent
commit
8fdd6fd8ad
32 changed files with 570 additions and 989 deletions
  1. +8
    -8
      app/src/main/AndroidManifest.xml
  2. +0
    -5
      app/src/main/java/com/nivesh/production/bajajfd/BajajApplication.kt
  3. +9
    -10
      app/src/main/java/com/nivesh/production/bajajfd/adapter/SectionsPagerAdapter.kt
  4. +0
    -25
      app/src/main/java/com/nivesh/production/bajajfd/adapter/SmartFragmentStatePagerAdapter.kt
  5. +15
    -20
      app/src/main/java/com/nivesh/production/bajajfd/ui/activity/BajajFdMainActivity.kt
  6. +0
    -36
      app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/BaseFragment.kt
  7. +2
    -12
      app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepFiveBajajFDFragment.kt
  8. +42
    -36
      app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepFourBajajFDFragment.kt
  9. +55
    -42
      app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepOneBajajFDFragment.kt
  10. +36
    -159
      app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepThreeBajajFDFragment.kt
  11. +57
    -68
      app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepTwoBajajFDFragment.kt
  12. +0
    -1
      app/src/main/java/com/nivesh/production/bajajfd/ui/providerfactory/FDModelProviderFactory.kt
  13. +0
    -15
      app/src/main/java/com/nivesh/production/bajajfd/ui/providerfactory/StepFiveModelProviderFactory.kt
  14. +0
    -15
      app/src/main/java/com/nivesh/production/bajajfd/ui/providerfactory/StepFourModelProviderFactory.kt
  15. +0
    -14
      app/src/main/java/com/nivesh/production/bajajfd/ui/providerfactory/StepOneModelProviderFactory.kt
  16. +0
    -17
      app/src/main/java/com/nivesh/production/bajajfd/ui/providerfactory/StepThreeModelProviderFactory.kt
  17. +0
    -16
      app/src/main/java/com/nivesh/production/bajajfd/ui/providerfactory/StepTwoModelProviderFactory.kt
  18. +9
    -10
      app/src/main/java/com/nivesh/production/bajajfd/util/Common.kt
  19. +1
    -11
      app/src/main/java/com/nivesh/production/bajajfd/util/Resource.kt
  20. +307
    -4
      app/src/main/java/com/nivesh/production/bajajfd/viewModel/BajajFDViewModel.kt
  21. +0
    -9
      app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepFiveBajajFDViewModel.kt
  22. +0
    -85
      app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepFourBajajFDViewModel.kt
  23. +0
    -79
      app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepOneBajajFDViewModel.kt
  24. +0
    -65
      app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepThreeBajajFDViewModel.kt
  25. +0
    -191
      app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepTwoBajajFDViewModel.kt
  26. +2
    -1
      app/src/main/res/layout/fragment_bajajfd_step_one.xml
  27. +12
    -9
      app/src/main/res/values-hi-rIN/strings.xml
  28. +1
    -1
      app/src/main/res/values-night/themes.xml
  29. +11
    -8
      app/src/main/res/values/strings.xml
  30. +1
    -1
      app/src/main/res/values/themes.xml
  31. +1
    -15
      app/src/main/res/xml/data_extraction_rules.xml
  32. +1
    -1
      settings.gradle

+ 8
- 8
app/src/main/AndroidManifest.xml View File

@ -3,11 +3,13 @@
xmlns:tools="http://schemas.android.com/tools">
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.READ_PRIVILEGED_PHONE_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission
android:name="android.permission.WRITE_EXTERNAL_STORAGE"
android:maxSdkVersion="28"
tools:ignore="ScopedStorage" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="ANDROID.PERMISSION.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="ANDROID.PERMISSION.READ_EXTERNAL_STORAGE" />
<uses-feature
android:name="android.hardware.camera"
@ -27,15 +29,13 @@
android:label="@string/appName"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/Theme.BajajFdLib"
android:theme="@style/Theme.NiveshSDK"
tools:targetApi="31">
<!-- android:theme="@style/Theme.BajajFdLib" AppTheme-->
<activity
android:name=".ui.activity.BajajFdMainActivity"
android:exported="true"
android:windowSoftInputMode="adjustPan"
>
android:windowSoftInputMode="adjustPan">
<intent-filter>
<action android:name="android.intent.action.MAIN" />


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

@ -5,7 +5,6 @@ import android.content.Context
class BajajApplication : Application() {
private var mInstance: BajajApplication? = null
// private val mRequestQueue: RequestQueue? = null
companion object {
var appContext: Context? = null
}
@ -15,8 +14,4 @@ class BajajApplication : Application() {
appContext = applicationContext
}
@Synchronized
fun getInstanceApp(): BajajApplication? {
return mInstance
}
}

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

@ -2,18 +2,17 @@ package com.nivesh.production.bajajfd.adapter
import androidx.fragment.app.Fragment
import androidx.fragment.app.FragmentManager
import androidx.fragment.app.FragmentPagerAdapter
class SectionsPagerAdapter(private val fm: FragmentManager, private val fragments: Array<Fragment>, private val NumberOfTabs: Int) : SmartFragmentStatePagerAdapter(fm) {
override fun getItem(position: Int): Fragment {
return fragments[position]
}
class SectionsPagerAdapter(manager: FragmentManager,private val fragments: Array<Fragment>, private val NumberOfTabs: Int) : FragmentPagerAdapter(manager, BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT) {
override fun getPageTitle(position: Int): CharSequence? {
return null
}
private val titles = ArrayList<String>()
override fun getItem(position: Int): Fragment = fragments[position]
override fun getCount(): Int = NumberOfTabs
override fun getPageTitle(position: Int): CharSequence = titles[position]
override fun getCount(): Int {
return NumberOfTabs
}
}

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

@ -1,25 +0,0 @@
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.FragmentPagerAdapter
import androidx.fragment.app.FragmentStatePagerAdapter
import androidx.viewpager2.adapter.FragmentStateAdapter
abstract class SmartFragmentStatePagerAdapter(fragmentManager: FragmentManager) : FragmentPagerAdapter(fragmentManager) {
private 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
}
// Returns the fragment for the position (if instantiated)
fun getRegisteredFragment(position: Int): Fragment? {
return registeredFragments[position]
}
}

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

@ -36,7 +36,7 @@ import com.nivesh.production.bajajfd.viewModel.*
class BajajFdMainActivity : BaseActivity() {
lateinit var binding: ActivityBajajFdBinding
private lateinit var viewModel: BajajFDViewModel
lateinit var viewModel: BajajFDViewModel
private val stepOneBajajFDFragment = StepOneBajajFDFragment()
private val stepTwoBajajFDFragment = StepTwoBajajFDFragment()
@ -72,7 +72,7 @@ class BajajFdMainActivity : BaseActivity() {
//start Repository
viewModel = ViewModelProvider(
this,
this@BajajFdMainActivity,
FDModelProviderFactory(MainRepository(ApiClient.getApiClient))
)[BajajFDViewModel::class.java]
@ -91,13 +91,12 @@ class BajajFdMainActivity : BaseActivity() {
ProgressUtil.showLoading(this)
val fdStepsCount = FDStepsCountRequest()
fdStepsCount.FDProvider = getString(R.string.bajaj)
fdStepsCount.NiveshClientCode = "8872"
// client code =8872 /60476
fdStepsCount.NiveshClientCode = "8872" // 60476
viewModel.getStepsCount(fdStepsCount, token, this)
viewModel.getStepsCountMutableData.observe(this) { response ->
when (response) {
is Resource.Success -> {
Log.e("response", "-->$response")
Log.e("response", "-->${response.data.toString()}")
val stepsCountResponse: StepsCountResponse =
Gson().fromJson(
response.data?.toString(),
@ -109,7 +108,7 @@ class BajajFdMainActivity : BaseActivity() {
stepCount = stepsCountResponse.Response.StepsCount
getClientDetailsApi(stepsCountResponse.Response.StepsCount)
}
650 -> refreshToken("")
650 -> ""
else -> {
showDialogValidation(
this@BajajFdMainActivity,
@ -135,11 +134,6 @@ class BajajFdMainActivity : BaseActivity() {
}
}
private fun refreshToken(fdStepsCount: String) {
}
private fun getClientDetailsApi(stepsCount: Int) {
if (Common.isNetworkAvailable(this@BajajFdMainActivity)) {
ProgressUtil.showLoading(this)
@ -147,7 +141,6 @@ class BajajFdMainActivity : BaseActivity() {
getClientDetailsRequest.client_code = "8872"
getClientDetailsRequest.AppOrWeb = getString(R.string.app)
getClientDetailsRequest.sub_broker_code = "1038"
// 8872/1038
val userRequest = UserRequest()
userRequest.UID = 0
userRequest.IPAddress = ""
@ -166,12 +159,12 @@ class BajajFdMainActivity : BaseActivity() {
deviceInfo.device_os_version = ""
userRequest.deviceInfo = deviceInfo
getClientDetailsRequest.UserRequest = userRequest
Log.e("getClientDetailRequest", "-->" + Gson().toJson(getClientDetailsRequest))
Log.e("getClientDetail ", " Request -->" + Gson().toJson(getClientDetailsRequest))
viewModel.getClientDetails(getClientDetailsRequest, token, this)
viewModel.getClientDetailsMutableData.observe(this) { response ->
when (response) {
is Resource.Success -> {
Log.e("response", "-->$response")
Log.e("getClientDetail ", " response -->${response.data.toString()}")
getClientDetailsResponse =
Gson().fromJson(
response.data?.toString(),
@ -233,17 +226,20 @@ class BajajFdMainActivity : BaseActivity() {
val viewPager: DisableAdapter = binding.viewPager
viewPager.setPagingEnabled(false)
viewPager.adapter = sectionsPagerAdapter
if (sectionsPagerAdapter.count > 1) {
viewPager.offscreenPageLimit = sectionsPagerAdapter.count - 1
} else {
viewPager.offscreenPageLimit = 1
}
viewPager.addOnPageChangeListener(object : ViewPager.OnPageChangeListener {
override fun onPageScrolled(
position: Int,
positionOffset: Float,
positionOffsetPixels: Int
) {
Log.e("onPageScrolled", "-->".plus(position))
}
override fun onPageSelected(position: Int) {
Log.e("onPageSelected", "-->".plus(position))
when (position) {
0 -> {
setBackground(
@ -312,7 +308,7 @@ class BajajFdMainActivity : BaseActivity() {
viewModel.getFDKYCMutableData.observe(this) { response ->
when (response) {
is Resource.Success -> {
Log.e("response", "-->$response")
Log.e("response", "-->${response.data.toString()}")
val getCodeResponse: GetCodeResponse =
Gson().fromJson(
response.data?.toString(),
@ -367,8 +363,7 @@ class BajajFdMainActivity : BaseActivity() {
}
// step 1 response
fun stepOneApi(data: String?) {
Log.e("stepOneApi", " response ---> $data")
fun stepOneApi() {
binding.viewPager.currentItem = 1
}
@ -455,7 +450,7 @@ class BajajFdMainActivity : BaseActivity() {
}
stepFiveBajajFDFragment.getData(paymentReQueryResponse)
}
650 -> refreshToken("")
650 -> ""
else -> {
showDialogValidation(
this@BajajFdMainActivity,


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

@ -1,36 +0,0 @@
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()
}
}
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
}
override fun onStart() {
super.onStart()
}
override fun onStop() {
super.onStop()
}
}

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

@ -5,17 +5,11 @@ import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.fragment.app.Fragment
import androidx.lifecycle.ViewModelProvider
import com.nivesh.production.bajajfd.api.ApiClient
import com.nivesh.production.bajajfd.databinding.FragmentBajajfdStepFiveBinding
import com.nivesh.production.bajajfd.model.PaymentReQueryResponse
import com.nivesh.production.bajajfd.repositories.MainRepository
import com.nivesh.production.bajajfd.ui.providerfactory.StepFiveModelProviderFactory
import com.nivesh.production.bajajfd.viewModel.StepFiveBajajFDViewModel
class StepFiveBajajFDFragment : Fragment() {
private lateinit var stepFiveBajajFDViewModel: StepFiveBajajFDViewModel
private var _binding: FragmentBajajfdStepFiveBinding? = null
private val binding get() = _binding!!
@ -27,17 +21,13 @@ class StepFiveBajajFDFragment : Fragment() {
return binding.root
}
fun getData(paymentReQueryResponse: PaymentReQueryResponse) {
fun getData(paymentReQueryResponse: PaymentReQueryResponse) {
}
}
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
stepFiveBajajFDViewModel = ViewModelProvider(
this,
StepFiveModelProviderFactory(MainRepository(ApiClient.getApiClient))
)[StepFiveBajajFDViewModel::class.java]
binding.btnViewOrder.setOnClickListener {


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

@ -6,29 +6,24 @@ import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.core.content.res.ResourcesCompat
import androidx.lifecycle.ViewModelProvider
import androidx.fragment.app.Fragment
import androidx.recyclerview.widget.LinearLayoutManager
import com.google.gson.Gson
import com.nivesh.production.bajajfd.R
import com.nivesh.production.bajajfd.adapter.CustomerListAdapter
import com.nivesh.production.bajajfd.api.ApiClient
import com.nivesh.production.bajajfd.databinding.FragmentBajajfdStepFourBinding
import com.nivesh.production.bajajfd.model.*
import com.nivesh.production.bajajfd.repositories.MainRepository
import com.nivesh.production.bajajfd.ui.activity.BajajFdMainActivity
import com.nivesh.production.bajajfd.ui.providerfactory.StepFourModelProviderFactory
import com.nivesh.production.bajajfd.util.Common
import com.nivesh.production.bajajfd.util.Common.Companion.showDialogValidation
import com.nivesh.production.bajajfd.util.Constants
import com.nivesh.production.bajajfd.util.Constants.Companion.token
import com.nivesh.production.bajajfd.util.Resource
import com.nivesh.production.bajajfd.viewModel.StepFourBajajFDViewModel
class StepFourBajajFDFragment : BaseFragment() {
class StepFourBajajFDFragment : Fragment() {
private lateinit var stepFourBajajFDViewModel: StepFourBajajFDViewModel
private var _binding: FragmentBajajfdStepFourBinding? = null
private val binding get() = _binding!!
private lateinit var listOfCustomer: MutableList<GetCodes>
private var selectedList: String = ""
private var payUrl: String = ""
@ -45,21 +40,25 @@ class StepFourBajajFDFragment : BaseFragment() {
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
stepFourBajajFDViewModel = ViewModelProvider(
this,
StepFourModelProviderFactory(MainRepository(ApiClient.getApiClient))
)[StepFourBajajFDViewModel::class.java]
binding.checkBox.setOnCheckedChangeListener { _, _ ->
}
if ((activity as BajajFdMainActivity).loginRole == 5) {
binding.btnNext.text = getString(R.string.pay)
binding.btnNext.setBackgroundColor(ResourcesCompat.getColor(resources, R.color.green, null))
}else{
binding.btnNext.text = getString(R.string.pay)
binding.btnNext.setBackgroundColor(
ResourcesCompat.getColor(
resources,
R.color.green,
null
)
)
} else {
binding.btnNext.text = getString(R.string.viewOrder)
binding.btnNext.setBackgroundColor(ResourcesCompat.getColor(resources, R.color.red, null))
binding.btnNext.setBackgroundColor(
ResourcesCompat.getColor(
resources,
R.color.red,
null
)
)
}
binding.btnNext.setOnClickListener {
@ -89,7 +88,7 @@ class StepFourBajajFDFragment : BaseFragment() {
resources.getString(R.string.validTermsConditions)
)
}
}else{
} else {
// go to view order
}
}
@ -100,11 +99,15 @@ class StepFourBajajFDFragment : BaseFragment() {
}
private fun saveFDOtherData(data: SaveFDOtherDataRequest, payUrl: String, value: String) {
stepFourBajajFDViewModel.saveFDOtherData(data, token, activity as BajajFdMainActivity)
stepFourBajajFDViewModel.getFDOtherMutableData.observe(viewLifecycleOwner) { response ->
(activity as BajajFdMainActivity).viewModel.saveFDOtherData(
data,
token,
activity as BajajFdMainActivity
)
(activity as BajajFdMainActivity).viewModel.getFDOtherMutableData.observe(viewLifecycleOwner) { response ->
when (response) {
is Resource.Success -> {
Log.e("response", "-->" + response.data.toString())
Log.e("saveFDOtherData", " response -->${response.data.toString()}")
val saveFDOtherDataResponse: SaveFDOtherDataResponse =
Gson().fromJson(
response.data?.toString(),
@ -147,21 +150,22 @@ class StepFourBajajFDFragment : BaseFragment() {
}
private fun customerListApi() {
val getCodeRequest = GetCodeRequest()
getCodeRequest.ProductName = getString(R.string.bajajFD)
getCodeRequest.Category = getString(R.string.customerCategory)
getCodeRequest.Language = getString(R.string.language)
getCodeRequest.InputValue = ""
stepFourBajajFDViewModel.paymentModeApi(
(activity as BajajFdMainActivity).viewModel.paymentModeApi(
getCodeRequest,
Constants.token,
token,
activity as BajajFdMainActivity
)
stepFourBajajFDViewModel.getPaymentModeMutableData.observe(viewLifecycleOwner) { response ->
(activity as BajajFdMainActivity).viewModel.getPaymentModeMutableData.observe(
viewLifecycleOwner
) { response ->
when (response) {
is Resource.Success -> {
Log.e("response", "-->$response")
Log.e("customerListApi", " response -->${response.data.toString()}")
val getCodeResponse: GetCodeResponse =
Gson().fromJson(response.data?.toString(), GetCodeResponse::class.java)
getCodeResponse.Response.StatusCode.let { code ->
@ -207,21 +211,23 @@ class StepFourBajajFDFragment : BaseFragment() {
}
private fun getFDDetailsApi() {
if (Common.isNetworkAvailable(mActivity!!)) {
if (Common.isNetworkAvailable(activity as BajajFdMainActivity)) {
val getFDDetailsRequest = GetFDDetailsRequest()
getFDDetailsRequest.FDProvider = mActivity!!.getString(R.string.bajaj)
getFDDetailsRequest.FDProvider = getString(R.string.bajaj)
getFDDetailsRequest.NiveshClientCode =
(mActivity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_CODE
(activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_CODE
getFDDetailsRequest.UniqueId = (activity as BajajFdMainActivity).uniqueId
stepFourBajajFDViewModel.getFDDetails(
(activity as BajajFdMainActivity).viewModel.getFDDetails(
getFDDetailsRequest,
Constants.token,
token,
activity as BajajFdMainActivity
)
stepFourBajajFDViewModel.getFDDetailsMutableData.observe(viewLifecycleOwner) { response ->
(activity as BajajFdMainActivity).viewModel.getFDDetailsMutableData.observe(
viewLifecycleOwner
) { response ->
when (response) {
is Resource.Success -> {
Log.e("response", "-->$response")
Log.e("getFDDetailsApi", " response -->${response.data.toString()}")
val getFDDetailsResponse: GetFDDetailsResponse =
Gson().fromJson(
response.data?.toString(),


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

@ -12,32 +12,27 @@ import android.view.View
import android.view.ViewGroup
import android.widget.ArrayAdapter
import android.widget.RadioButton
import androidx.lifecycle.ViewModelProvider
import androidx.fragment.app.Fragment
import androidx.recyclerview.widget.DefaultItemAnimator
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView.LayoutManager
import com.google.gson.Gson
import com.nivesh.production.bajajfd.R
import com.nivesh.production.bajajfd.adapter.HorizontalRecyclerViewAdapter
import com.nivesh.production.bajajfd.api.ApiClient
import com.nivesh.production.bajajfd.databinding.FragmentBajajfdStepOneBinding
import com.nivesh.production.bajajfd.model.*
import com.nivesh.production.bajajfd.repositories.MainRepository
import com.nivesh.production.bajajfd.ui.activity.BajajFdMainActivity
import com.nivesh.production.bajajfd.ui.providerfactory.StepOneModelProviderFactory
import com.nivesh.production.bajajfd.util.Common
import com.nivesh.production.bajajfd.util.Common.Companion.commonErrorMethod
import com.nivesh.production.bajajfd.util.Common.Companion.removeError
import com.nivesh.production.bajajfd.util.Constants.Companion.token
import com.nivesh.production.bajajfd.util.Resource
import com.nivesh.production.bajajfd.viewModel.StepOneBajajFDViewModel
class StepOneBajajFDFragment : BaseFragment() {
class StepOneBajajFDFragment : Fragment() {
private var _binding: FragmentBajajfdStepOneBinding? = null
private val binding get() = _binding!!
private lateinit var stepOneBajajFDViewModel: StepOneBajajFDViewModel
private lateinit var rgMaturity: RadioButton
private lateinit var listOfTenure: MutableList<ROIDataList>
private lateinit var recyclerViewDropDownAdapter: HorizontalRecyclerViewAdapter
@ -57,19 +52,14 @@ class StepOneBajajFDFragment : BaseFragment() {
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
stepOneBajajFDViewModel = ViewModelProvider(
this,
StepOneModelProviderFactory(MainRepository(ApiClient.getApiClient))
)[StepOneBajajFDViewModel::class.java]
listOfTenure = ArrayList()
binding.edtAmount.filters = arrayOf<InputFilter>(InputFilter.LengthFilter(8)) // upto 1 Cr
listOfTenure = ArrayList()
listOfMinAmount = ArrayList()
listOfMaxAmount = ArrayList()
listOfFrequency = ArrayList()
rgMaturity = RadioButton(activity as BajajFdMainActivity)
rgMaturity = RadioButton(activity as BajajFdMainActivity)
binding.edtAmount.filters = arrayOf<InputFilter>(InputFilter.LengthFilter(8)) // upto 1 Cr
// Amount
binding.edtAmount.addTextChangedListener(object : TextWatcher {
override fun afterTextChanged(s: Editable?) {}
@ -92,7 +82,6 @@ class StepOneBajajFDFragment : BaseFragment() {
} else {
binding.txtCumulativeNon.text = getString(R.string.cumulativeROI)
}
if (binding.edtAmount.text.toString().trim().isNotEmpty()) {
maturityAmountApi(tenure, interest)
}
@ -123,11 +112,6 @@ class StepOneBajajFDFragment : BaseFragment() {
Log.e("Maturity", "-->" + rgMaturity.text)
}
// TAX Deduct
binding.rbDeductTax.setOnCheckedChangeListener { _, _ ->
Log.e("DeductTax", "-->" + binding.rbDeductTax.isChecked)
}
// Next Button
binding.btnNext.setOnClickListener {
if (validation()) {
@ -137,7 +121,8 @@ class StepOneBajajFDFragment : BaseFragment() {
binding.spInterestPayout.text.toString()
(activity as BajajFdMainActivity).fdInvestmentDetails.Tenure = tenure
(activity as BajajFdMainActivity).fdInvestmentDetails.Interest = interest
(activity as BajajFdMainActivity).fdInvestmentDetails.NiveshClientCode = (activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_CODE
(activity as BajajFdMainActivity).fdInvestmentDetails.NiveshClientCode =
(activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_CODE
(activity as BajajFdMainActivity).fdInvestmentDetails.Provider =
getString(R.string.bajaj)
(activity as BajajFdMainActivity).fdInvestmentDetails.IPAddress = "192.168.1.23"
@ -154,7 +139,8 @@ class StepOneBajajFDFragment : BaseFragment() {
}
(activity as BajajFdMainActivity).fdInvestmentDetails.CustomerType = ""
(activity as BajajFdMainActivity).fdInvestmentDetails.CKYCNumber = ""
(activity as BajajFdMainActivity).fdInvestmentDetails.UniqueId = (activity as BajajFdMainActivity).uniqueId
(activity as BajajFdMainActivity).fdInvestmentDetails.UniqueId =
(activity as BajajFdMainActivity).uniqueId
(activity as BajajFdMainActivity).createFDApplicantRequest.FDInvestmentDetails =
(activity as BajajFdMainActivity).fdInvestmentDetails
@ -162,13 +148,12 @@ class StepOneBajajFDFragment : BaseFragment() {
"StepOneData",
"-->" + Gson().toJson((activity as BajajFdMainActivity).fdInvestmentDetails)
)
(activity as BajajFdMainActivity).stepOneApi("stepOneResponse")
(activity as BajajFdMainActivity).stepOneApi()
}
}
minAmountApi()
interestPayoutApi()
}
private fun interestPayoutApi() {
@ -177,11 +162,15 @@ class StepOneBajajFDFragment : BaseFragment() {
getCodeRequest.Category = getString(R.string.category)
getCodeRequest.Language = getString(R.string.language)
getCodeRequest.InputValue = ""
stepOneBajajFDViewModel.getCode(getCodeRequest, token, activity as BajajFdMainActivity)
stepOneBajajFDViewModel.getCodeMutableData.observe(viewLifecycleOwner) { response ->
(activity as BajajFdMainActivity).viewModel.getCode(
getCodeRequest,
token,
activity as BajajFdMainActivity
)
(activity as BajajFdMainActivity).viewModel.getCodeMutableData.observe(viewLifecycleOwner) { response ->
when (response) {
is Resource.Success -> {
Log.e("response", "-->$response")
Log.e("interestPayoutApi", " response -->${response.data.toString()}")
val getCodeResponse: GetCodeResponse =
Gson().fromJson(response.data?.toString(), GetCodeResponse::class.java)
getCodeResponse.Response.StatusCode.let { code ->
@ -202,9 +191,14 @@ class StepOneBajajFDFragment : BaseFragment() {
binding.tvFrequency.text =
adapter.getItem(listOfFrequency.size - 1)?.Value
getRatesApi()
}else{
Common.showDialogValidation(
activity as BajajFdMainActivity,
"Interest Payout Frequency Data Is Missing."
)
}
}
// 650 -> refreshToken()
650 -> ""
else -> {
Common.showDialogValidation(
activity as BajajFdMainActivity,
@ -236,11 +230,17 @@ class StepOneBajajFDFragment : BaseFragment() {
getCodeRequest.Category = getString(R.string.minAmountCategory)
getCodeRequest.Language = getString(R.string.language)
getCodeRequest.InputValue = ""
stepOneBajajFDViewModel.getMinAmount(getCodeRequest, token, activity as BajajFdMainActivity)
stepOneBajajFDViewModel.getMinAmountMutableData.observe(viewLifecycleOwner) { response ->
(activity as BajajFdMainActivity).viewModel.getMinAmount(
getCodeRequest,
token,
activity as BajajFdMainActivity
)
(activity as BajajFdMainActivity).viewModel.getMinAmountMutableData.observe(
viewLifecycleOwner
) { response ->
when (response) {
is Resource.Success -> {
Log.e("response", "-->$response")
Log.e("minAmountApi ", " response-->${response.data.toString()}")
val getCodeResponse: GetCodeResponse =
Gson().fromJson(response.data?.toString(), GetCodeResponse::class.java)
getCodeResponse.Response.StatusCode.let { code ->
@ -254,7 +254,7 @@ class StepOneBajajFDFragment : BaseFragment() {
}
maxAmountApi()
}
// 650 -> refreshToken()
650 -> ""
else -> {
Common.showDialogValidation(
activity as BajajFdMainActivity,
@ -286,11 +286,17 @@ class StepOneBajajFDFragment : BaseFragment() {
getCodeRequest.Category = getString(R.string.MaxAmountCategory)
getCodeRequest.Language = getString(R.string.language)
getCodeRequest.InputValue = ""
stepOneBajajFDViewModel.getMaxAmount(getCodeRequest, token, activity as BajajFdMainActivity)
stepOneBajajFDViewModel.getMaxAmountMutableData.observe(viewLifecycleOwner) { response ->
(activity as BajajFdMainActivity).viewModel.getMaxAmount(
getCodeRequest,
token,
activity as BajajFdMainActivity
)
(activity as BajajFdMainActivity).viewModel.getMaxAmountMutableData.observe(
viewLifecycleOwner
) { response ->
when (response) {
is Resource.Success -> {
Log.e("response", "-->$response")
Log.e("maxAmountApi ", " response-->${response.data.toString()}")
val getCodeResponse: GetCodeResponse =
Gson().fromJson(response.data?.toString(), GetCodeResponse::class.java)
getCodeResponse.Response.StatusCode.let { code ->
@ -298,7 +304,7 @@ class StepOneBajajFDFragment : BaseFragment() {
200 -> {
listOfMaxAmount = getCodeResponse.Response.GetCodesList
}
// 650 -> refreshToken()
650 -> ""
else -> {
Common.showDialogValidation(
activity as BajajFdMainActivity,
@ -353,13 +359,16 @@ class StepOneBajajFDFragment : BaseFragment() {
maturityAmountRequest.Frequency = binding.spInterestPayout.text.toString()
maturityAmountRequest.Tenure = tenure
maturityAmountRequest.Interest = interest
stepOneBajajFDViewModel.getMaturityAmount(
(activity as BajajFdMainActivity).viewModel.getMaturityAmount(
maturityAmountRequest,
activity as BajajFdMainActivity
)
stepOneBajajFDViewModel.getMaturityAmountMutableData.observe(viewLifecycleOwner) { response ->
(activity as BajajFdMainActivity).viewModel.getMaturityAmountMutableData.observe(
viewLifecycleOwner
) { response ->
when (response) {
is Resource.Success -> {
Log.e("maturityAmountApi ", " response-->${response.data.toString()}")
val getMaturityAmountResponse =
Gson().fromJson(
response.data?.toString(),
@ -452,8 +461,12 @@ class StepOneBajajFDFragment : BaseFragment() {
} else {
getRatesRequest.type = getString(R.string.nonSeniorCitizen)
}
stepOneBajajFDViewModel.getRates(getRatesRequest, token, activity as BajajFdMainActivity)
stepOneBajajFDViewModel.getRatesMutableData.observe(viewLifecycleOwner) { response ->
(activity as BajajFdMainActivity).viewModel.getRates(
getRatesRequest,
token,
activity as BajajFdMainActivity
)
(activity as BajajFdMainActivity).viewModel.getRatesMutableData.observe(viewLifecycleOwner) { response ->
when (response) {
is Resource.Success -> {
val getRatesResponse: GetRatesResponse =
@ -523,6 +536,6 @@ class StepOneBajajFDFragment : BaseFragment() {
override fun onDestroyView() {
super.onDestroyView()
_binding = null
_binding = null
}
}

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

@ -21,51 +21,36 @@ import androidx.activity.result.contract.ActivityResultContracts
import androidx.appcompat.app.AlertDialog
import androidx.core.content.ContextCompat
import androidx.core.content.FileProvider
import androidx.lifecycle.ViewModelProvider
import androidx.fragment.app.Fragment
import androidx.lifecycle.lifecycleScope
import com.google.gson.Gson
import com.google.gson.JsonObject
import com.nivesh.production.bajajfd.BuildConfig
import com.nivesh.production.bajajfd.R
import com.nivesh.production.bajajfd.api.ApiClient
import com.nivesh.production.bajajfd.databinding.FragmentBajajfdStepThreeBinding
import com.nivesh.production.bajajfd.model.*
import com.nivesh.production.bajajfd.repositories.MainRepository
import com.nivesh.production.bajajfd.ui.activity.BajajFdMainActivity
import com.nivesh.production.bajajfd.ui.providerfactory.StepThreeModelProviderFactory
import com.nivesh.production.bajajfd.util.*
import com.nivesh.production.bajajfd.util.Common
import com.nivesh.production.bajajfd.util.Common.Companion.getFileExtension
import com.nivesh.production.bajajfd.util.Constants.Companion.GetFreshToken_V2_Encrypt
import com.nivesh.production.bajajfd.util.Constants.Companion.KEY_LOGINTYPE
import com.nivesh.production.bajajfd.util.Constants.Companion.KEY_LOGINUSER_CODE
import com.nivesh.production.bajajfd.util.Constants.Companion.KEY_LOGIN_EMAIL
import com.nivesh.production.bajajfd.util.Constants.Companion.KEY_LOGIN_PASSWORD
import com.nivesh.production.bajajfd.util.Constants.Companion.KEY_LOGIN_SOCIALID
import com.nivesh.production.bajajfd.util.SharedPrefrenceDataMethods.Companion.getLoginPassword
import com.nivesh.production.bajajfd.util.Utility.Companion.convert_sha256
import com.nivesh.production.bajajfd.util.Utility.Companion.convert_sha256_2X
import com.nivesh.production.bajajfd.util.Utility.Companion.getDeviceInfo
import com.nivesh.production.bajajfd.util.Utils_Functions.Companion.getCurrentDateStamp
import com.nivesh.production.bajajfd.viewModel.StepThreeBajajFDViewModel
import okhttp3.MediaType
import okhttp3.MediaType.Companion.toMediaType
import okhttp3.MediaType.Companion.toMediaTypeOrNull
import okhttp3.RequestBody
import okhttp3.RequestBody.Companion.toRequestBody
import org.json.JSONObject
import com.nivesh.production.bajajfd.util.Constants
import com.nivesh.production.bajajfd.util.ImageUtil
import com.nivesh.production.bajajfd.util.Resource
import java.io.*
class StepThreeBajajFDFragment : BaseFragment() {
class StepThreeBajajFDFragment : Fragment() {
private var bitmap: Bitmap? = null
private var latestTmpUri: Uri? = null
private var _binding: FragmentBajajfdStepThreeBinding? = null
private val binding get() = _binding!!
private lateinit var stepThreeBajajFDViewModel: StepThreeBajajFDViewModel
private var takeImageResult: ActivityResultLauncher<Uri>? = null
private var selectImageIntent: ActivityResultLauncher<String>? = null
private var bitmap: Bitmap? = null
private var latestTmpUri: Uri? = null
private val mapImage: HashMap<String, String> = HashMap()
private lateinit var listOfDocType: List<GetCodes>
private var check: Array<String>? = null
private var panString: String = ""
private var photoString: String = ""
@ -82,15 +67,6 @@ class StepThreeBajajFDFragment : BaseFragment() {
private val secondDocUpload: Int = 4
private var actionType: Int = -1
private val mapImage: HashMap<String, String> = HashMap()
private lateinit var listOfDocType: List<GetCodes>
private val check = arrayOf<CharSequence>("Take Photo", "Choose from Gallery", "Cancel")
private var strToken: String? = null
private var strTimeStamp: String? = null
private var str2Hash: String? = null
private var strDeviceID: String? = null
private val requestPermission = registerForActivityResult(
ActivityResultContracts.RequestPermission()
@ -113,10 +89,12 @@ class StepThreeBajajFDFragment : BaseFragment() {
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
stepThreeBajajFDViewModel = ViewModelProvider(
this,
StepThreeModelProviderFactory(MainRepository(ApiClient.getApiClient))
)[StepThreeBajajFDViewModel::class.java]
check = arrayOf(
getString(R.string.takePhoto),
getString(R.string.chooseFromGallery),
getString(R.string.cancel)
)
selectImageIntent = registerForActivityResult(ActivityResultContracts.GetContent())
{ uri: Uri? ->
@ -155,7 +133,6 @@ class StepThreeBajajFDFragment : BaseFragment() {
}
var uploadPosition = 0
for (entry in mapImage.iterator()) {
ProgressUtil.showLoading(activity as BajajFdMainActivity)
uploadPosition++
uploadDocApi(entry.key, entry.value, uploadPosition)
}
@ -227,13 +204,13 @@ class StepThreeBajajFDFragment : BaseFragment() {
private fun selectImage() {
val builder = AlertDialog.Builder(
mActivity!!
activity as BajajFdMainActivity
)
builder.setTitle("Add Photo!")
builder.setTitle(getString(R.string.addPhoto))
builder.setItems(
check
) { dialog: DialogInterface, item: Int ->
if (check[item] == "Take Photo") {
if (check!![item] == getString(R.string.takePhoto)) {
val permission = ContextCompat.checkSelfPermission(
activity as BajajFdMainActivity,
Manifest.permission.CAMERA
@ -246,7 +223,7 @@ class StepThreeBajajFDFragment : BaseFragment() {
)
}
dialog.dismiss()
} else if (check[item] == "Choose from Gallery") {
} else if (check!![item] == getString(R.string.chooseFromGallery)) {
val permission = ContextCompat.checkSelfPermission(
activity as BajajFdMainActivity,
Manifest.permission.READ_EXTERNAL_STORAGE
@ -258,7 +235,7 @@ class StepThreeBajajFDFragment : BaseFragment() {
Manifest.permission.READ_EXTERNAL_STORAGE
)
}
} else if (check[item] == "Cancel") {
} else if (check!![item] == getString(R.string.cancel)) {
dialog.dismiss()
}
}
@ -418,13 +395,14 @@ class StepThreeBajajFDFragment : BaseFragment() {
du.NiveshClientCode =
(activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_CODE
du.UniqueId = (activity as BajajFdMainActivity).uniqueId
stepThreeBajajFDViewModel.documentsUpload(
(activity as BajajFdMainActivity).viewModel.documentsUpload(
du,
Constants.token,
activity as BajajFdMainActivity
)
stepThreeBajajFDViewModel.getDocumentUploadMutableData.observe(viewLifecycleOwner) { response ->
ProgressUtil.hideLoading()
(activity as BajajFdMainActivity).viewModel.getDocumentUploadMutableData.observe(
viewLifecycleOwner
) { response ->
when (response) {
is Resource.Success -> {
Log.e("UploadImage", "Response-->" + response.data.toString())
@ -443,7 +421,7 @@ class StepThreeBajajFDFragment : BaseFragment() {
createFDApi((activity as BajajFdMainActivity).createFDRequest)
}
}
650 -> refreshToken()
// 650 -> refreshToken()
else -> {
Common.showDialogValidation(
activity as BajajFdMainActivity,
@ -460,125 +438,24 @@ class StepThreeBajajFDFragment : BaseFragment() {
}
}
is Resource.Loading -> {
ProgressUtil.hideLoading()
}
is Resource.DataError -> {
}
}
}
}
private fun refreshToken() {
if (Common.isNetworkAvailable(activity as BajajFdMainActivity)) {
var jsonObject: JSONObject? = null
try {
jsonObject = JSONObject()
jsonObject.put(
"Email_Mob",
SharedPrefrenceDataMethods.getLoginEmail(KEY_LOGIN_EMAIL, activity)
)
jsonObject.put(
"Uid",
SharedPrefrenceDataMethods.getLoginUserCode(KEY_LOGINUSER_CODE, activity)
)
jsonObject.put(
"Soc_Id",
SharedPrefrenceDataMethods.getLoginSOCIALID(KEY_LOGIN_SOCIALID, activity)
)
val ed = EncryptionDecryption()
val decryptString = ed.decrypt(
getLoginPassword(
KEY_LOGIN_PASSWORD,
activity
)
)
val strsha256hex_password: String? = decryptString?.let { convert_sha256(it) }
Log.e(
"Scheme",
"LoginEmail -> " + SharedPrefrenceDataMethods.getLoginEmail(
KEY_LOGIN_EMAIL,
activity
).toString() + ", convert_sha256-> " + strsha256hex_password
)
strTimeStamp = getCurrentDateStamp()
Log.e("Scheme_strTimeStamp", "-> $strTimeStamp")
if (SharedPrefrenceDataMethods.getLogin_Type(KEY_LOGINTYPE, activity)
.equals("EMAIL", ignoreCase = true)
) {
str2Hash = convert_sha256_2X(strsha256hex_password + strTimeStamp)
Log.e("Scheme_Convert_str2Hash", "-> $str2Hash")
} else {
str2Hash = ""
}
is Resource.DataError -> {
val deviceInfo: DeviceInfo = getDeviceInfo(activity as BajajFdMainActivity)
strDeviceID = java.lang.String.valueOf(deviceInfo.device_id)
Log.e("Scheme_strDeviceID", "-> $strDeviceID")
jsonObject.put("DeviceId", strDeviceID)
Log.e(
"FreshToken_Request",
"URL_API -> " + GetFreshToken_V2_Encrypt.toString() + " JsonData-> " + jsonObject.toString() + ", Header-> " + "time_stamp :" + strTimeStamp.toString() + ", Password :" + str2Hash
)
} catch (e: Exception) {
e.printStackTrace()
}
val json = ""
val JSON : MediaType = "application/json; charset=utf-8".toMediaType()
val jsonBody: RequestBody = json.toRequestBody(JSON)
stepThreeBajajFDViewModel.getFreshToken(
jsonBody,
Constants.token,
activity as BajajFdMainActivity
)
stepThreeBajajFDViewModel.getFreshTokenMutableData.observe(viewLifecycleOwner) { response ->
when (response) {
is Resource.Success -> {
var jsonObject1: JsonObject = response.data!!
if (jsonObject1.has("Token")) {
strToken = jsonObject1.get("Token").toString()
strToken = jsonObject1.get("Token").toString()
Log.e("Scheme", "Token-> $strToken")
SharedPrefrenceDataMethods.setToken(activity, strToken)
}
}
is Resource.Error -> {
response.message?.let { message ->
Common.showDialogValidation(activity as BajajFdMainActivity, message)
}
}
is Resource.Loading -> {
}
is Resource.DataError -> {
}
}
}
}
}
private fun createFDApi(data: CreateFDRequest) {
stepThreeBajajFDViewModel.createFDApi(
(activity as BajajFdMainActivity).viewModel.createFDApi(
data,
Constants.token,
activity as BajajFdMainActivity
)
stepThreeBajajFDViewModel.getFDResponseMutableData.observe(viewLifecycleOwner) { response ->
(activity as BajajFdMainActivity).viewModel.getFDResponseMutableData.observe(
viewLifecycleOwner
) { response ->
when (response) {
is Resource.Success -> {
Log.e("createFDApi", "response--> " + response.data.toString())
@ -624,12 +501,12 @@ class StepThreeBajajFDFragment : BaseFragment() {
getCodeRequest.Category = getString(R.string.docType)
getCodeRequest.Language = getString(R.string.language)
getCodeRequest.InputValue = ""
stepThreeBajajFDViewModel.titleApi(
(activity as BajajFdMainActivity).viewModel.docTypeApi(
getCodeRequest,
Constants.token,
activity as BajajFdMainActivity
)
stepThreeBajajFDViewModel.getTitleMutableData.observe(viewLifecycleOwner) { response ->
(activity as BajajFdMainActivity).viewModel.getDocTypeMutableData.observe(viewLifecycleOwner) { response ->
when (response) {
is Resource.Success -> {
Log.e("response", "-->$response")


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

@ -17,7 +17,7 @@ import android.widget.ArrayAdapter
import android.widget.RadioButton
import android.widget.TextView
import androidx.core.content.ContextCompat
import androidx.lifecycle.ViewModelProvider
import androidx.fragment.app.Fragment
import androidx.recyclerview.widget.GridLayoutManager
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
@ -27,13 +27,9 @@ import com.nivesh.production.bajajfd.R
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.api.ApiClient
import com.nivesh.production.bajajfd.databinding.FragmentBajajfdStepTwoBinding
import com.nivesh.production.bajajfd.model.*
import com.nivesh.production.bajajfd.repositories.MainRepository
import com.nivesh.production.bajajfd.ui.activity.BajajFdMainActivity
import com.nivesh.production.bajajfd.ui.providerfactory.StepTwoModelProviderFactory
import com.nivesh.production.bajajfd.util.Common
import com.nivesh.production.bajajfd.util.Common.Companion.commonErrorAutoCompleteMethod
import com.nivesh.production.bajajfd.util.Common.Companion.commonErrorMethod
import com.nivesh.production.bajajfd.util.Common.Companion.commonSpinnerErrorMethod
@ -47,19 +43,14 @@ import com.nivesh.production.bajajfd.util.Common.Companion.removeError
import com.nivesh.production.bajajfd.util.Common.Companion.showDialogValidation
import com.nivesh.production.bajajfd.util.Constants.Companion.token
import com.nivesh.production.bajajfd.util.Resource
import com.nivesh.production.bajajfd.viewModel.StepTwoBajajFDViewModel
import java.util.*
class StepTwoBajajFDFragment : BaseFragment() {
class StepTwoBajajFDFragment : Fragment() {
private var _binding: FragmentBajajfdStepTwoBinding? = null
private val binding get() = _binding!!
private lateinit var rbBank: RadioButton
private lateinit var rbPaymentMode: RadioButton
private var cal = Calendar.getInstance()
private lateinit var listOfTitle: List<GetCodes>
private lateinit var listOfGender: List<GetCodes>
private lateinit var listOfAnnualIncome: List<GetCodes>
@ -71,28 +62,25 @@ class StepTwoBajajFDFragment : BaseFragment() {
private lateinit var listOfCities: List<DataObjectX>
private lateinit var listOfIFSC: MutableList<String>
private lateinit var stepTwoBajajFDViewModel: StepTwoBajajFDViewModel
private lateinit var bankListAdapter: BankListAdapter
private lateinit var paymentModeAdapter: PaymentModeAdapter
private lateinit var stateObject: DataObject
private val listOfBanks: MutableList<ClientBanklist> = mutableListOf()
private lateinit var rbBank: RadioButton
private lateinit var rbPaymentMode: RadioButton
private var cal = Calendar.getInstance()
override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?
): View {
_binding = FragmentBajajfdStepTwoBinding.inflate(inflater, container, false)
return binding.root
}
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
stepTwoBajajFDViewModel = ViewModelProvider(
this,
StepTwoModelProviderFactory(MainRepository(ApiClient.getApiClient))
)[StepTwoBajajFDViewModel::class.java]
listOfTitle = ArrayList()
listOfGender = ArrayList()
listOfAnnualIncome = ArrayList()
@ -102,9 +90,7 @@ class StepTwoBajajFDFragment : BaseFragment() {
listOfStates = ArrayList()
listOfIFSC = ArrayList()
listOfPayMode = ArrayList()
stateObject = DataObject()
rbPaymentMode = RadioButton(activity as BajajFdMainActivity)
// Personal Details
@ -529,8 +515,7 @@ class StepTwoBajajFDFragment : BaseFragment() {
binding.edtFirstName.text.toString().plus(" ")
.plus(binding.edtMiddleName.text.toString()).plus(" ")
.plus(binding.edtLastName.text.toString()),
binding.edtMobileNumber.text.toString(),
1
binding.edtMobileNumber.text.toString()
, (activity as BajajFdMainActivity).loginRole)
}
}
@ -547,7 +532,7 @@ class StepTwoBajajFDFragment : BaseFragment() {
binding.addBankDetail.setOnClickListener {
if (bankListAdapter.itemCount == 5) {
showDialogValidation(mActivity, getString(R.string.fiveAccountValidation))
showDialogValidation(activity as BajajFdMainActivity, getString(R.string.fiveAccountValidation))
} else {
showHideBankDetail()
}
@ -728,11 +713,11 @@ class StepTwoBajajFDFragment : BaseFragment() {
}
private fun createFDApi(data: CreateFDRequest) {
stepTwoBajajFDViewModel.createFDApi(data, token, activity as BajajFdMainActivity)
stepTwoBajajFDViewModel.getFDResponseMutableData.observe(viewLifecycleOwner) { response ->
(activity as BajajFdMainActivity).viewModel.createFDApi(data, token, activity as BajajFdMainActivity)
(activity as BajajFdMainActivity).viewModel.getFDResponseMutableData.observe(viewLifecycleOwner) { response ->
when (response) {
is Resource.Success -> {
Log.e("response", "-->$response")
Log.e("createFDApi ", " response -->$response")
val createFDApplicationResponse: CreateFDApplicationResponse =
Gson().fromJson(
response.data?.toString(),
@ -773,10 +758,11 @@ class StepTwoBajajFDFragment : BaseFragment() {
private fun ifscCodeCheckApi(ifsc: String) {
if (ifsc.length >= 10) {
stepTwoBajajFDViewModel.ifscCodeApi(ifsc, activity as BajajFdMainActivity)
stepTwoBajajFDViewModel.getIfscCodeCheckMutableData.observe(viewLifecycleOwner) { response ->
(activity as BajajFdMainActivity).viewModel.ifscCodeApi(ifsc, activity as BajajFdMainActivity)
(activity as BajajFdMainActivity).viewModel.getIfscCodeCheckMutableData.observe(viewLifecycleOwner) { response ->
when (response) {
is Resource.Success -> {
Log.e("ifscCodeCheckApi ", " response -->$response")
val getIFSCCodeListResponse =
Gson().fromJson(
response.data?.toString(),
@ -839,14 +825,15 @@ class StepTwoBajajFDFragment : BaseFragment() {
private fun getIFSCDetailsApi(ifscCode: String) {
stepTwoBajajFDViewModel.ifscCodeDetailsApi(
(activity as BajajFdMainActivity).viewModel.ifscCodeDetailsApi(
ifscCode,
activity as BajajFdMainActivity
)
stepTwoBajajFDViewModel.getIfscCodeDetailsCheckMutableData.observe(viewLifecycleOwner) { response ->
(activity as BajajFdMainActivity).viewModel.getIfscCodeDetailsCheckMutableData.observe(viewLifecycleOwner) { response ->
when (response) {
is Resource.Success -> {
if (response.data.toString().isNotEmpty()) {
Log.e("getIFSCDetailsApi ", " response -->$response")
val getIFSCCodeResponse = Gson().fromJson(
response.data.toString(),
GetIFSCCodeResponse::class.java
@ -875,7 +862,7 @@ class StepTwoBajajFDFragment : BaseFragment() {
}
private fun verifyAccountNo(
bankAccount: String, Ifsc: String, name: String, phoneNumber: String, bankNo: Int
bankAccount: String, Ifsc: String, name: String, phoneNumber: String
,loginRole : Int) {
val bankValidationApiRequest = BankValidationApiRequest()
@ -884,15 +871,16 @@ class StepTwoBajajFDFragment : BaseFragment() {
bankValidationApiRequest.Name = name
bankValidationApiRequest.PhoneNo = phoneNumber
bankValidationApiRequest.RoleId = loginRole
bankValidationApiRequest.BankNo = bankNo
stepTwoBajajFDViewModel.bankValidationApi(
bankValidationApiRequest.BankNo = 1
(activity as BajajFdMainActivity).viewModel.bankValidationApi(
bankValidationApiRequest,
token,
activity as BajajFdMainActivity
)
stepTwoBajajFDViewModel.bankValidationApiMutableData.observe(viewLifecycleOwner) { response ->
(activity as BajajFdMainActivity).viewModel.bankValidationApiMutableData.observe(viewLifecycleOwner) { response ->
when (response) {
is Resource.Success -> {
Log.e("verifyAccountNo ", " response -->$response")
val getBankValidationApiResponse =
Gson().fromJson(
response.data?.toString(),
@ -904,7 +892,7 @@ class StepTwoBajajFDFragment : BaseFragment() {
}
when (code) {
200 -> {
if (getBankValidationApiResponse.Message == "Account Verified") {
if (getBankValidationApiResponse.Message == getString(R.string.accountVerified)) {
val clientBankList = ClientBanklist()
clientBankList.AccountNumber = bankAccount
clientBankList.AccountType = "sb"
@ -1004,7 +992,7 @@ class StepTwoBajajFDFragment : BaseFragment() {
requireActivity().windowManager.defaultDisplay.getMetrics(displayMetrics)
val width = displayMetrics.widthPixels.toDouble()
binding.rvClientBankList.layoutManager = LinearLayoutManager(
mActivity,
activity as BajajFdMainActivity,
LinearLayoutManager.HORIZONTAL,
false
)
@ -1061,10 +1049,11 @@ class StepTwoBajajFDFragment : BaseFragment() {
(activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.sub_broker_code
panCheck.panNumber = binding.edtPANNumber.text.toString()
panCheck.mobileNumber = ""
stepTwoBajajFDViewModel.panCheck(panCheck, token, activity as BajajFdMainActivity)
stepTwoBajajFDViewModel.getPanCheckMutableData.observe(viewLifecycleOwner) { response ->
(activity as BajajFdMainActivity).viewModel.panCheck(panCheck, token, activity as BajajFdMainActivity)
(activity as BajajFdMainActivity).viewModel.getPanCheckMutableData.observe(viewLifecycleOwner) { response ->
when (response) {
is Resource.Success -> {
Log.e("panCheckApi ", " response -->$response")
val panCheckResponse =
Gson().fromJson(
response.data?.toString(),
@ -1119,11 +1108,11 @@ class StepTwoBajajFDFragment : BaseFragment() {
getCodeRequest.Category = getString(R.string.salutationCategory)
getCodeRequest.Language = getString(R.string.language)
getCodeRequest.InputValue = ""
stepTwoBajajFDViewModel.titleApi(getCodeRequest, token, activity as BajajFdMainActivity)
stepTwoBajajFDViewModel.getTitleMutableData.observe(viewLifecycleOwner) { response ->
(activity as BajajFdMainActivity).viewModel.titleApi(getCodeRequest, token, activity as BajajFdMainActivity)
(activity as BajajFdMainActivity).viewModel.getTitleMutableData.observe(viewLifecycleOwner) { response ->
when (response) {
is Resource.Success -> {
Log.e("response", "-->$response")
Log.e("titleApi ", " response -->$response")
val getCodeResponse: GetCodeResponse =
Gson().fromJson(response.data?.toString(), GetCodeResponse::class.java)
getCodeResponse.Response.StatusCode.let { code ->
@ -1202,15 +1191,15 @@ class StepTwoBajajFDFragment : BaseFragment() {
getCodeRequest.Category = getString(R.string.paymentModeCategory)
getCodeRequest.Language = getString(R.string.language)
getCodeRequest.InputValue = ""
stepTwoBajajFDViewModel.paymentModeApi(
(activity as BajajFdMainActivity).viewModel.paymentModeApi(
getCodeRequest,
token,
activity as BajajFdMainActivity
)
stepTwoBajajFDViewModel.getPaymentModeMutableData.observe(viewLifecycleOwner) { response ->
(activity as BajajFdMainActivity).viewModel.getPaymentModeMutableData.observe(viewLifecycleOwner) { response ->
when (response) {
is Resource.Success -> {
Log.e("response", "-->$response")
Log.e("paymentModeApi ", " response -->$response")
val getCodeResponse: GetCodeResponse =
Gson().fromJson(response.data?.toString(), GetCodeResponse::class.java)
getCodeResponse.Response.StatusCode.let { code ->
@ -1264,15 +1253,15 @@ class StepTwoBajajFDFragment : BaseFragment() {
getCodeRequest.Category = getString(R.string.genderCategory)
getCodeRequest.Language = getString(R.string.language)
getCodeRequest.InputValue = ""
stepTwoBajajFDViewModel.genderApi(
(activity as BajajFdMainActivity).viewModel.genderApi(
getCodeRequest,
token,
activity as BajajFdMainActivity
)
stepTwoBajajFDViewModel.getGenderMutableData.observe(viewLifecycleOwner) { response ->
(activity as BajajFdMainActivity).viewModel.getGenderMutableData.observe(viewLifecycleOwner) { response ->
when (response) {
is Resource.Success -> {
Log.e("response", "-->$response")
Log.e("genderApi ", " response -->$response")
val getCodeResponse: GetCodeResponse =
Gson().fromJson(response.data?.toString(), GetCodeResponse::class.java)
getCodeResponse.Response.StatusCode.let { code ->
@ -1324,15 +1313,15 @@ class StepTwoBajajFDFragment : BaseFragment() {
getCodeRequest.Category = getString(R.string.relationshipCategory)
getCodeRequest.Language = getString(R.string.language)
getCodeRequest.InputValue = ""
stepTwoBajajFDViewModel.relationShipApi(
(activity as BajajFdMainActivity).viewModel.relationShipApi(
getCodeRequest,
token,
activity as BajajFdMainActivity
)
stepTwoBajajFDViewModel.getRelationShipMutableData.observe(viewLifecycleOwner) { response ->
(activity as BajajFdMainActivity).viewModel.getRelationShipMutableData.observe(viewLifecycleOwner) { response ->
when (response) {
is Resource.Success -> {
Log.e("response", "-->$response")
Log.e("relationShipApi ", " response -->$response")
val getCodeResponse: GetCodeResponse =
Gson().fromJson(response.data?.toString(), GetCodeResponse::class.java)
getCodeResponse.Response.StatusCode.let { code ->
@ -1392,15 +1381,15 @@ class StepTwoBajajFDFragment : BaseFragment() {
getCodeRequest.Category = getString(R.string.maritalCategory)
getCodeRequest.Language = getString(R.string.language)
getCodeRequest.InputValue = ""
stepTwoBajajFDViewModel.maritalStatusApi(
(activity as BajajFdMainActivity).viewModel.maritalStatusApi(
getCodeRequest,
token,
activity as BajajFdMainActivity
)
stepTwoBajajFDViewModel.getMaritalStatusMutableData.observe(viewLifecycleOwner) { response ->
(activity as BajajFdMainActivity).viewModel.getMaritalStatusMutableData.observe(viewLifecycleOwner) { response ->
when (response) {
is Resource.Success -> {
Log.e("response", "-->$response")
Log.e("maritalStatusApi ", " response -->$response")
val getCodeResponse: GetCodeResponse =
Gson().fromJson(response.data?.toString(), GetCodeResponse::class.java)
getCodeResponse.Response.StatusCode.let { code ->
@ -1452,15 +1441,15 @@ class StepTwoBajajFDFragment : BaseFragment() {
getCodeRequest.Category = getString(R.string.occupationCategory)
getCodeRequest.Language = getString(R.string.language)
getCodeRequest.InputValue = ""
stepTwoBajajFDViewModel.occupationApi(
(activity as BajajFdMainActivity).viewModel.occupationApi(
getCodeRequest,
token,
activity as BajajFdMainActivity
)
stepTwoBajajFDViewModel.getOccupationMutableData.observe(viewLifecycleOwner) { response ->
(activity as BajajFdMainActivity).viewModel.getOccupationMutableData.observe(viewLifecycleOwner) { response ->
when (response) {
is Resource.Success -> {
Log.e("response", "-->$response")
Log.e("occupationApi ", " response -->$response")
val getCodeResponse: GetCodeResponse =
Gson().fromJson(response.data?.toString(), GetCodeResponse::class.java)
getCodeResponse.Response.StatusCode.let { code ->
@ -1512,15 +1501,15 @@ class StepTwoBajajFDFragment : BaseFragment() {
getCodeRequest.Category = getString(R.string.annualIncome)
getCodeRequest.Language = getString(R.string.language)
getCodeRequest.InputValue = ""
stepTwoBajajFDViewModel.annualIncomeApi(
(activity as BajajFdMainActivity).viewModel.annualIncomeApi(
getCodeRequest,
token,
activity as BajajFdMainActivity
)
stepTwoBajajFDViewModel.getAnnualIncomeMutableData.observe(viewLifecycleOwner) { response ->
(activity as BajajFdMainActivity).viewModel.getAnnualIncomeMutableData.observe(viewLifecycleOwner) { response ->
when (response) {
is Resource.Success -> {
Log.e("response", "-->$response")
Log.e("annualIncomeApi ", " response -->$response")
val getCodeResponse: GetCodeResponse =
Gson().fromJson(response.data?.toString(), GetCodeResponse::class.java)
getCodeResponse.Response.StatusCode.let { code ->
@ -1567,11 +1556,11 @@ class StepTwoBajajFDFragment : BaseFragment() {
}
private fun stateListApi() {
stepTwoBajajFDViewModel.stateApi(token, activity as BajajFdMainActivity)
stepTwoBajajFDViewModel.getStateMasterMutableData.observe(viewLifecycleOwner) { response ->
(activity as BajajFdMainActivity).viewModel.stateApi(token, activity as BajajFdMainActivity)
(activity as BajajFdMainActivity).viewModel.getStateMasterMutableData.observe(viewLifecycleOwner) { response ->
when (response) {
is Resource.Success -> {
Log.e("response", "-->$response")
Log.e("stateListApi ", " response -->$response")
val stateListResponse: StateListResponse =
Gson().fromJson(
response.data?.toString(),
@ -1647,18 +1636,18 @@ class StepTwoBajajFDFragment : BaseFragment() {
(activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_CODE
cityRequest.RoleID = (activity as BajajFdMainActivity).loginRole
cityRequest.APIName = ""
cityRequest.UID = 19060
cityRequest.UID = 0
cityRequest.Subbroker_Code =
(activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.sub_broker_code
cityRequest.RMCode = ""
cityRequest.HOCode = ""
cityRequest.Source = getString(R.string.source)
cityRequest.APP_Web = getString(R.string.app)
stepTwoBajajFDViewModel.cityListApi(cityRequest, token, activity as BajajFdMainActivity)
stepTwoBajajFDViewModel.getCityListMutableData.observe(viewLifecycleOwner) { response ->
(activity as BajajFdMainActivity).viewModel.cityListApi(cityRequest, token, activity as BajajFdMainActivity)
(activity as BajajFdMainActivity).viewModel.getCityListMutableData.observe(viewLifecycleOwner) { response ->
when (response) {
is Resource.Success -> {
Log.e("response", "-->$response")
Log.e("cityListApi ", " response -->$response")
val cityListResponse: CityListResponse =
Gson().fromJson(response.data?.toString(), CityListResponse::class.java)
cityListResponse.response.status_code.let { code ->
@ -1717,11 +1706,11 @@ class StepTwoBajajFDFragment : BaseFragment() {
}
private fun apiForEligibleBankList() {
stepTwoBajajFDViewModel.bankListApi(token,getString(R.string.language), activity as BajajFdMainActivity)
stepTwoBajajFDViewModel.getFDBankListMutableData.observe(viewLifecycleOwner) { response ->
(activity as BajajFdMainActivity).viewModel.bankListApi(token,getString(R.string.language), activity as BajajFdMainActivity)
(activity as BajajFdMainActivity).viewModel.getFDBankListMutableData.observe(viewLifecycleOwner) { response ->
when (response) {
is Resource.Success -> {
Log.e("response", "-->$response")
Log.e("apiForEligibleBankList ", " response -->$response")
val getFDBankListResponse: GetFDBankListResponse =
Gson().fromJson(
response.data?.toString(),


+ 0
- 1
app/src/main/java/com/nivesh/production/bajajfd/ui/providerfactory/FDModelProviderFactory.kt View File

@ -4,7 +4,6 @@ import androidx.lifecycle.ViewModel
import androidx.lifecycle.ViewModelProvider
import com.nivesh.production.bajajfd.repositories.MainRepository
import com.nivesh.production.bajajfd.viewModel.BajajFDViewModel
import com.nivesh.production.bajajfd.viewModel.StepOneBajajFDViewModel
class FDModelProviderFactory (private val mainRepository: MainRepository) : ViewModelProvider.Factory {


+ 0
- 15
app/src/main/java/com/nivesh/production/bajajfd/ui/providerfactory/StepFiveModelProviderFactory.kt View File

@ -1,15 +0,0 @@
package com.nivesh.production.bajajfd.ui.providerfactory
import androidx.lifecycle.ViewModel
import androidx.lifecycle.ViewModelProvider
import com.nivesh.production.bajajfd.repositories.MainRepository
import com.nivesh.production.bajajfd.viewModel.StepFiveBajajFDViewModel
class StepFiveModelProviderFactory(private val mainRepository: MainRepository) :
ViewModelProvider.Factory {
override fun <T : ViewModel> create(modelClass: Class<T>): T {
return StepFiveBajajFDViewModel(mainRepository) as T
}
}

+ 0
- 15
app/src/main/java/com/nivesh/production/bajajfd/ui/providerfactory/StepFourModelProviderFactory.kt View File

@ -1,15 +0,0 @@
package com.nivesh.production.bajajfd.ui.providerfactory
import androidx.lifecycle.ViewModel
import androidx.lifecycle.ViewModelProvider
import com.nivesh.production.bajajfd.repositories.MainRepository
import com.nivesh.production.bajajfd.viewModel.StepFourBajajFDViewModel
class StepFourModelProviderFactory(private val mainRepository: MainRepository) :
ViewModelProvider.Factory {
override fun <T : ViewModel> create(modelClass: Class<T>): T {
return StepFourBajajFDViewModel(mainRepository) as T
}
}

+ 0
- 14
app/src/main/java/com/nivesh/production/bajajfd/ui/providerfactory/StepOneModelProviderFactory.kt View File

@ -1,14 +0,0 @@
package com.nivesh.production.bajajfd.ui.providerfactory
import androidx.lifecycle.ViewModel
import androidx.lifecycle.ViewModelProvider
import com.nivesh.production.bajajfd.repositories.MainRepository
import com.nivesh.production.bajajfd.viewModel.StepOneBajajFDViewModel
class StepOneModelProviderFactory (private val mainRepository: MainRepository) : ViewModelProvider.Factory {
override fun <T : ViewModel> create(modelClass: Class<T>): T {
return StepOneBajajFDViewModel(mainRepository) as T
}
}

+ 0
- 17
app/src/main/java/com/nivesh/production/bajajfd/ui/providerfactory/StepThreeModelProviderFactory.kt View File

@ -1,17 +0,0 @@
package com.nivesh.production.bajajfd.ui.providerfactory
import androidx.lifecycle.ViewModel
import androidx.lifecycle.ViewModelProvider
import com.nivesh.production.bajajfd.repositories.MainRepository
import com.nivesh.production.bajajfd.viewModel.BajajFDViewModel
import com.nivesh.production.bajajfd.viewModel.StepOneBajajFDViewModel
import com.nivesh.production.bajajfd.viewModel.StepThreeBajajFDViewModel
import com.nivesh.production.bajajfd.viewModel.StepTwoBajajFDViewModel
class StepThreeModelProviderFactory (private val mainRepository: MainRepository) : ViewModelProvider.Factory {
override fun <T : ViewModel> create(modelClass: Class<T>): T {
return StepThreeBajajFDViewModel(mainRepository) as T
}
}

+ 0
- 16
app/src/main/java/com/nivesh/production/bajajfd/ui/providerfactory/StepTwoModelProviderFactory.kt View File

@ -1,16 +0,0 @@
package com.nivesh.production.bajajfd.ui.providerfactory
import androidx.lifecycle.ViewModel
import androidx.lifecycle.ViewModelProvider
import com.nivesh.production.bajajfd.repositories.MainRepository
import com.nivesh.production.bajajfd.viewModel.BajajFDViewModel
import com.nivesh.production.bajajfd.viewModel.StepOneBajajFDViewModel
import com.nivesh.production.bajajfd.viewModel.StepTwoBajajFDViewModel
class StepTwoModelProviderFactory (private val mainRepository: MainRepository) : ViewModelProvider.Factory {
override fun <T : ViewModel> create(modelClass: Class<T>): T {
return StepTwoBajajFDViewModel(mainRepository) as T
}
}

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

@ -8,7 +8,6 @@ import android.graphics.drawable.GradientDrawable
import android.net.ConnectivityManager
import android.net.NetworkCapabilities
import android.os.Build
import android.provider.ContactsContract
import android.text.format.DateFormat
import android.util.Log
import android.util.Patterns
@ -60,7 +59,7 @@ class Common {
connectivityManager.activeNetworkInfo?.run {
return when (type) {
ConnectivityManager.TYPE_WIFI -> true
ContactsContract.CommonDataKinds.Phone.TYPE_MOBILE -> true
ConnectivityManager.TYPE_MOBILE -> true
ConnectivityManager.TYPE_ETHERNET -> true
else -> false
}
@ -83,7 +82,7 @@ class Common {
//validPanCard
fun isValidPan(pan: String?): Boolean {
val mPattern = Pattern.compile("[A-Z]{5}[0-9]{4}[A-Z]{1}")
val mPattern = Pattern.compile("[A-Z]{5}[0-9]{4}[A-Z]")
val mMatcher = mPattern.matcher(pan.toString())
return mMatcher.matches()
}
@ -190,7 +189,7 @@ class Common {
return simpleDateFormat.format(mDate as Date)
}
fun handleResponse(response: retrofit2.Response<JsonObject>): Resource<JsonObject> {
fun handleResponse(response: Response<JsonObject>): Resource<JsonObject> {
// try {
if (response.isSuccessful && response.body() != null) {
response.body()?.let { resultResponse ->
@ -211,15 +210,15 @@ class Common {
fun handleResponse1(response: Response<String>): Resource<String> {
if (response.isSuccessful && response.body() != null) {
if (response.body().toString().isNotEmpty()) {
return if (response.body().toString().isNotEmpty()) {
Log.e("response", "-->$response")
val str: String = response.body().toString().replace("\r\n", "")
Log.e("str", "-->$str")
val jsonObject = JSONObject(str)
Log.e("jsonObject", "-->$jsonObject")
return Resource.Success(jsonObject.toString())
Resource.Success(jsonObject.toString())
}else {
return Resource.Error(response.message())
Resource.Error(response.message())
}
}
return Resource.Error(response.message())
@ -244,8 +243,8 @@ class Common {
}
fun isMinor(date: String): Boolean {
val simpleDateFormat = SimpleDateFormat("yyyy-mm-dd")
val dt1: Date = simpleDateFormat.parse(date)
val simpleDateFormat = SimpleDateFormat("yyyy-MM-dd", Locale.getDefault())
val dt1: Date = simpleDateFormat.parse(date) as Date
val year: Int = DateFormat.format("yyyy", dt1).toString().toInt()
val month: Int = DateFormat.format("mm", dt1).toString().toInt()
val day = DateFormat.format("dd", dt1).toString().toInt()
@ -255,7 +254,7 @@ class Common {
return minAdultAge.before(userAge)
}
/* this function is used for file size in readable formate(End)*/
/* this function is used for file size in readable format(End)*/
fun getFileSizeInMB(length: Long): Double {
// Get length of file in bytes
val fileSizeInBytes = length.toDouble()


+ 1
- 11
app/src/main/java/com/nivesh/production/bajajfd/util/Resource.kt View File

@ -10,17 +10,7 @@ sealed class Resource<T>(
class Success<T>(data: T) : Resource<T>(data)
class Error<T>(message: String, data: T? = null) : Resource<T>(data, message)
class Loading<T> : Resource<T>()
class DataError<T>(errorCode: Int, message: String, data: T? = null) :
class DataError<T>(errorCode: Int, message: String) :
Resource<T>(null, message, errorCode)
override fun toString(): String {
return when (this) {
is Success<*> -> "Success[data=$data]"
is DataError -> "ErrorCode[exception=$errorCode]"
is Loading<T> -> "Loading"
is Error -> "Error[exception=${error(Any())}]"
}
}
}

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

@ -7,15 +7,14 @@ import androidx.lifecycle.viewModelScope
import com.google.gson.JsonObject
import com.nivesh.production.bajajfd.model.*
import com.nivesh.production.bajajfd.repositories.MainRepository
import com.nivesh.production.bajajfd.ui.activity.BajajFdMainActivity
import com.nivesh.production.bajajfd.util.Common
import com.nivesh.production.bajajfd.util.Common.Companion.handleError
import com.nivesh.production.bajajfd.util.Common.Companion.handleResponse
import com.nivesh.production.bajajfd.util.ProgressUtil
import com.nivesh.production.bajajfd.util.Constants
import com.nivesh.production.bajajfd.util.Resource
import kotlinx.coroutines.launch
class BajajFDViewModel(private val mainRepository: MainRepository) : ViewModel() {
open class BajajFDViewModel(private val mainRepository: MainRepository) : ViewModel() {
val getStepsCountMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
fun getStepsCount(
@ -50,7 +49,6 @@ class BajajFDViewModel(private val mainRepository: MainRepository) : ViewModel()
}
}
val getPaymentReQueryMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
fun getPaymentReQuery(requestBody: PaymentReQueryRequest, token : String, activity: Activity) = viewModelScope.launch(handleError(activity)) {
if (Common.isNetworkAvailable(activity)) {
@ -61,4 +59,309 @@ class BajajFDViewModel(private val mainRepository: MainRepository) : ViewModel()
}
// Step 1 Api
val getMinAmountMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
fun getMinAmount(requestBody: GetCodeRequest, token: String, activity: Activity) =
viewModelScope.launch(
handleError(activity)
) {
if (Common.isNetworkAvailable(activity)) {
getMinAmountMutableData.postValue(Resource.Loading())
val response = mainRepository.getCodesResponse(requestBody, token)
getMinAmountMutableData.postValue(handleResponse(response))
}
}
val getMaxAmountMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
fun getMaxAmount(requestBody: GetCodeRequest, token: String, activity: Activity) =
viewModelScope.launch(
handleError(activity)
) {
if (Common.isNetworkAvailable(activity)) {
getMaxAmountMutableData.postValue(Resource.Loading())
val response = mainRepository.getCodesResponse(requestBody, token)
getMaxAmountMutableData.postValue(handleResponse(response))
}
}
val getMaturityAmountMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
fun getMaturityAmount(requestBody: GetMaturityAmountRequest, activity: Activity) =
viewModelScope.launch(
handleError(activity)
) {
if (Common.isNetworkAvailable(activity)) {
getMaturityAmountMutableData.postValue(Resource.Loading())
val response = mainRepository.createCalculateFDMaturityAmount(requestBody,
Constants.token
)
getMaturityAmountMutableData.postValue(handleResponse(response))
}
}
val getRatesMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
fun getRates(getRatesRequest: GetRatesRequest, token: String, activity: Activity) =
viewModelScope.launch(
handleError(activity)
) {
if (Common.isNetworkAvailable(activity)) {
getRatesMutableData.postValue(Resource.Loading())
val response = mainRepository.getRatesResponse(getRatesRequest, token)
getRatesMutableData.postValue(handleResponse(response))
}
}
val getCodeMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
fun getCode(requestBody: GetCodeRequest, token: String, activity: Activity) =
viewModelScope.launch(
handleError(activity)
) {
if (Common.isNetworkAvailable(activity)) {
getCodeMutableData.postValue(Resource.Loading())
val response = mainRepository.getCodesResponse(requestBody, token)
getCodeMutableData.postValue(handleResponse(response))
}
}
// Step 2
val getPanCheckMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
fun panCheck(panCheck: PanCheckRequest, token: String, activity : Activity) = viewModelScope.launch(
handleError(activity)
) {
if (Common.isNetworkAvailable(activity)) {
getPanCheckMutableData.postValue(Resource.Loading())
val response = mainRepository.panCheck(panCheck, token)
getPanCheckMutableData.postValue(handleResponse(response))
}
}
val getTitleMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
fun titleApi(getCodeRequest: GetCodeRequest, token: String, activity : Activity) = viewModelScope.launch(
handleError(activity)
) {
if (Common.isNetworkAvailable(activity)) {
getTitleMutableData.postValue(Resource.Loading())
val response = mainRepository.titleCheck(getCodeRequest, token)
getTitleMutableData.postValue(handleResponse(response))
}
}
val getGenderMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
fun genderApi(getCodeRequest: GetCodeRequest, token: String,activity : Activity) = viewModelScope.launch(
handleError(activity)
) {
if (Common.isNetworkAvailable(activity)) {
getGenderMutableData.postValue(Resource.Loading())
val response = mainRepository.genderCheck(getCodeRequest, token)
getGenderMutableData.postValue(handleResponse(response))
}
}
val getAnnualIncomeMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
fun annualIncomeApi(getCodeRequest: GetCodeRequest, token: String,activity : Activity) = viewModelScope.launch(
handleError(activity)
) {
if (Common.isNetworkAvailable(activity)) {
getAnnualIncomeMutableData.postValue(Resource.Loading())
val response = mainRepository.annualIncomeCheck(getCodeRequest, token)
getAnnualIncomeMutableData.postValue(handleResponse(response))
}
}
val getRelationShipMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
fun relationShipApi(getCodeRequest: GetCodeRequest, token: String,activity : Activity) = viewModelScope.launch(
handleError(activity)
) {
if (Common.isNetworkAvailable(activity)) {
getRelationShipMutableData.postValue(Resource.Loading())
val response = mainRepository.relationShipCheck(getCodeRequest, token)
getRelationShipMutableData.postValue(handleResponse(response))
}
}
val getMaritalStatusMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
fun maritalStatusApi(getCodeRequest: GetCodeRequest, token: String,activity : Activity) = viewModelScope.launch(
handleError(activity)
) {
if (Common.isNetworkAvailable(activity)) {
getMaritalStatusMutableData.postValue(Resource.Loading())
val response = mainRepository.maritalStatusCheck(getCodeRequest, token)
getMaritalStatusMutableData.postValue(handleResponse(response))
}
}
val getOccupationMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
fun occupationApi(getCodeRequest: GetCodeRequest, token: String,activity : Activity) = viewModelScope.launch(
handleError(activity)
) {
if (Common.isNetworkAvailable(activity)) {
getOccupationMutableData.postValue(Resource.Loading())
val response = mainRepository.occupationCheck(getCodeRequest, token)
getOccupationMutableData.postValue(handleResponse(response))
}
}
val getStateMasterMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
fun stateApi(token: String,activity : Activity) = viewModelScope.launch(
handleError(activity)
) {
if (Common.isNetworkAvailable(activity)) {
getStateMasterMutableData.postValue(Resource.Loading())
val response = mainRepository.stateCheck(token)
getStateMasterMutableData.postValue(handleResponse(response))
}
}
val getCityListMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
fun cityListApi(cityRequest: CityRequest, token: String,activity : Activity) = viewModelScope.launch(
handleError(activity)
) {
if (Common.isNetworkAvailable(activity)) {
getCityListMutableData.postValue(Resource.Loading())
val response = mainRepository.cityCheck(cityRequest, token)
getCityListMutableData.postValue(handleResponse(response))
}
}
val getFDBankListMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
fun bankListApi( token: String,language: String, activity : Activity) = viewModelScope.launch(
handleError(activity)
) {
if (Common.isNetworkAvailable(activity)) {
getFDBankListMutableData.postValue(Resource.Loading())
val response = mainRepository.bankListCheck(token, language)
getFDBankListMutableData.postValue(handleResponse(response))
}
}
val getIfscCodeCheckMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
fun ifscCodeApi(ifsc : String,activity : Activity) = viewModelScope.launch(
handleError(activity)
) {
if (Common.isNetworkAvailable(activity)) {
getIfscCodeCheckMutableData.postValue(Resource.Loading())
val response = mainRepository.ifscCodeCheck(ifsc)
getIfscCodeCheckMutableData.postValue(handleResponse(response))
}
}
val getIfscCodeDetailsCheckMutableData: MutableLiveData<Resource<String>> = MutableLiveData()
fun ifscCodeDetailsApi(ifsc : String,activity : Activity) = viewModelScope.launch(
handleError(activity)
) {
if (Common.isNetworkAvailable(activity)) {
getIfscCodeDetailsCheckMutableData.postValue(Resource.Loading())
val response = mainRepository.ifscCodeBankDetailsCheck(ifsc, Constants.token)
getIfscCodeDetailsCheckMutableData.postValue(Common.handleResponse1(response))
}
}
val getPaymentModeMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
fun paymentModeApi(getCodeRequest: GetCodeRequest, token: String,activity : Activity) = viewModelScope.launch(
handleError(activity)
) {
if (Common.isNetworkAvailable(activity)) {
getPaymentModeMutableData.postValue(Resource.Loading())
val response = mainRepository.payModeCheck(getCodeRequest, token)
getPaymentModeMutableData.postValue(handleResponse(response))
}
}
val getFDResponseMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
fun createFDApi(getRatesRequest: CreateFDRequest, token: String,activity : Activity) = viewModelScope.launch(
handleError(activity)
) {
if (Common.isNetworkAvailable(activity)) {
getFDResponseMutableData.postValue(Resource.Loading())
val response = mainRepository.createFDKYCResponse(getRatesRequest, token)
getFDResponseMutableData.postValue(handleResponse(response))
}
}
val bankValidationApiMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
fun bankValidationApi(bankValidationApiRequest : BankValidationApiRequest,token:String,activity : Activity) = viewModelScope.launch(
handleError(activity)
) {
if (Common.isNetworkAvailable(activity)) {
bankValidationApiMutableData.postValue(Resource.Loading())
val response = mainRepository.bankValidationApiRequest(bankValidationApiRequest,token)
bankValidationApiMutableData.postValue(handleResponse(response))
}
}
// Step 3
val getDocTypeMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
fun docTypeApi(getCodeRequest: GetCodeRequest, token: String, activity : Activity) = viewModelScope.launch(
handleError(activity)
) {
if (Common.isNetworkAvailable(activity)) {
getDocTypeMutableData.postValue(Resource.Loading())
val response = mainRepository.titleCheck(getCodeRequest, token)
getDocTypeMutableData.postValue(handleResponse(response))
}
}
val getDocumentUploadMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
fun documentsUpload(documentUpload: DocumentUpload, token: String, activity: Activity) = viewModelScope.launch(
handleError(activity)
) {
if (Common.isNetworkAvailable(activity)) {
getDocumentUploadMutableData.postValue(Resource.Loading())
val response = mainRepository.documentsUploadResponse(documentUpload, token)
getDocumentUploadMutableData.postValue(handleResponse(response))
}
}
// Step 4
val getFDDetailsMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
fun getFDDetails(getRatesRequest: GetFDDetailsRequest, token: String,
activity: Activity) = viewModelScope.launch(handleError(activity)) {
if (Common.isNetworkAvailable(activity)) {
getFDDetailsMutableData.postValue(Resource.Loading())
val response = mainRepository.getFDDetailsResponse(getRatesRequest, token)
getFDDetailsMutableData.postValue(handleResponse(response))
}
}
val getFDOtherMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
fun saveFDOtherData(getRatesRequest: SaveFDOtherDataRequest, token: String,
activity: Activity) = viewModelScope.launch(handleError(activity)) {
if (Common.isNetworkAvailable(activity)) {
getFDOtherMutableData.postValue(Resource.Loading())
val response = mainRepository.saveFDOtherDataResponse(getRatesRequest, token)
getFDOtherMutableData.postValue(handleResponse(response))
}
}
fun updateFDPaymentStatus(getRatesRequest: GetRatesRequest, token: String,
activity: Activity
) =
viewModelScope.launch(handleError(activity)) {
if (Common.isNetworkAvailable(activity)) {
getRatesMutableData.postValue(Resource.Loading())
val response = mainRepository.updateFDPaymentStatusResponse(getRatesRequest, token)
getRatesMutableData.postValue(handleResponse(response))
}
}
fun finaliseFD(getRatesRequest: GetRatesRequest, token: String,
activity: Activity) = viewModelScope.launch(handleError(activity)) {
if (Common.isNetworkAvailable(activity)) {
getRatesMutableData.postValue(Resource.Loading())
val response = mainRepository.finaliseFDResponse(getRatesRequest, token)
getRatesMutableData.postValue(handleResponse(response))
}
}
fun finaliseKYC(getRatesRequest: GetRatesRequest, token: String,
activity: Activity) = viewModelScope.launch(handleError(activity)) {
if (Common.isNetworkAvailable(activity)) {
getRatesMutableData.postValue(Resource.Loading())
val response = mainRepository.finaliseKYCResponse(getRatesRequest, token)
getRatesMutableData.postValue(handleResponse(response))
}
}
}

+ 0
- 9
app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepFiveBajajFDViewModel.kt View File

@ -1,9 +0,0 @@
package com.nivesh.production.bajajfd.viewModel
import androidx.lifecycle.ViewModel
import com.nivesh.production.bajajfd.repositories.MainRepository
class StepFiveBajajFDViewModel(private val mainRepository: MainRepository) : ViewModel() {
}

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

@ -1,85 +0,0 @@
package com.nivesh.production.bajajfd.viewModel
import android.app.Activity
import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.ViewModel
import androidx.lifecycle.viewModelScope
import com.google.gson.JsonObject
import com.nivesh.production.bajajfd.model.*
import com.nivesh.production.bajajfd.repositories.MainRepository
import com.nivesh.production.bajajfd.util.Common
import com.nivesh.production.bajajfd.util.Common.Companion.handleResponse
import com.nivesh.production.bajajfd.util.Resource
import kotlinx.coroutines.launch
class StepFourBajajFDViewModel(private val mainRepository: MainRepository) : ViewModel() {
val getPaymentModeMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
fun paymentModeApi(getCodeRequest: GetCodeRequest, token: String,
activity: Activity
) = viewModelScope.launch(Common.handleError(activity)) {
if (Common.isNetworkAvailable(activity)) {
getPaymentModeMutableData.postValue(Resource.Loading())
val response = mainRepository.payModeCheck(getCodeRequest, token)
getPaymentModeMutableData.postValue(handleResponse(response))
}
}
val getFDDetailsMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
fun getFDDetails(getRatesRequest: GetFDDetailsRequest, token: String,
activity: Activity) = viewModelScope.launch(Common.handleError(activity)) {
if (Common.isNetworkAvailable(activity)) {
getFDDetailsMutableData.postValue(Resource.Loading())
val response = mainRepository.getFDDetailsResponse(getRatesRequest, token)
getFDDetailsMutableData.postValue(handleResponse(response))
}
}
val getRatesMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
fun updateFDPaymentStatus(getRatesRequest: GetRatesRequest, token: String,
activity: Activity) =
viewModelScope.launch(Common.handleError(activity)) {
if (Common.isNetworkAvailable(activity)) {
getRatesMutableData.postValue(Resource.Loading())
val response = mainRepository.updateFDPaymentStatusResponse(getRatesRequest, token)
getRatesMutableData.postValue(handleResponse(response))
}
}
fun finaliseFD(getRatesRequest: GetRatesRequest, token: String,
activity: Activity) = viewModelScope.launch(Common.handleError(activity)) {
if (Common.isNetworkAvailable(activity)) {
getRatesMutableData.postValue(Resource.Loading())
val response = mainRepository.finaliseFDResponse(getRatesRequest, token)
getRatesMutableData.postValue(handleResponse(response))
}
}
fun finaliseKYC(getRatesRequest: GetRatesRequest, token: String,
activity: Activity) = viewModelScope.launch(Common.handleError(activity)) {
if (Common.isNetworkAvailable(activity)) {
getRatesMutableData.postValue(Resource.Loading())
val response = mainRepository.finaliseKYCResponse(getRatesRequest, token)
getRatesMutableData.postValue(handleResponse(response))
}
}
fun paymentReQuery(getRatesRequest: PaymentReQueryRequest, token: String,
activity: Activity) = viewModelScope.launch(Common.handleError(activity)) {
if (Common.isNetworkAvailable(activity)) {
getRatesMutableData.postValue(Resource.Loading())
val response = mainRepository.paymentReQueryResponse(getRatesRequest, token)
getRatesMutableData.postValue(handleResponse(response))
}
}
val getFDOtherMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
fun saveFDOtherData(getRatesRequest: SaveFDOtherDataRequest, token: String,
activity: Activity) = viewModelScope.launch(Common.handleError(activity)) {
if (Common.isNetworkAvailable(activity)) {
getFDOtherMutableData.postValue(Resource.Loading())
val response = mainRepository.saveFDOtherDataResponse(getRatesRequest, token)
getFDOtherMutableData.postValue(handleResponse(response))
}
}
}

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

@ -1,79 +0,0 @@
package com.nivesh.production.bajajfd.viewModel
import android.app.Activity
import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.ViewModel
import androidx.lifecycle.viewModelScope
import com.google.gson.JsonObject
import com.nivesh.production.bajajfd.model.GetCodeRequest
import com.nivesh.production.bajajfd.model.GetMaturityAmountRequest
import com.nivesh.production.bajajfd.model.GetRatesRequest
import com.nivesh.production.bajajfd.repositories.MainRepository
import com.nivesh.production.bajajfd.util.Common
import com.nivesh.production.bajajfd.util.Common.Companion.handleResponse
import com.nivesh.production.bajajfd.util.Constants.Companion.token
import com.nivesh.production.bajajfd.util.Resource
import kotlinx.coroutines.launch
class StepOneBajajFDViewModel(private val mainRepository: MainRepository) : ViewModel() {
val getCodeMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
fun getCode(requestBody: GetCodeRequest, token: String, activity: Activity) =
viewModelScope.launch(
Common.handleError(activity)
) {
if (Common.isNetworkAvailable(activity)) {
getCodeMutableData.postValue(Resource.Loading())
val response = mainRepository.getCodesResponse(requestBody, token)
getCodeMutableData.postValue(handleResponse(response))
}
}
val getRatesMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
fun getRates(getRatesRequest: GetRatesRequest, token: String, activity: Activity) =
viewModelScope.launch(
Common.handleError(activity)
) {
if (Common.isNetworkAvailable(activity)) {
getRatesMutableData.postValue(Resource.Loading())
val response = mainRepository.getRatesResponse(getRatesRequest, token)
getRatesMutableData.postValue(handleResponse(response))
}
}
val getMaturityAmountMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
fun getMaturityAmount(requestBody: GetMaturityAmountRequest, activity: Activity) =
viewModelScope.launch(
Common.handleError(activity)
) {
if (Common.isNetworkAvailable(activity)) {
getMaturityAmountMutableData.postValue(Resource.Loading())
val response = mainRepository.createCalculateFDMaturityAmount(requestBody, token)
getMaturityAmountMutableData.postValue(handleResponse(response))
}
}
val getMinAmountMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
fun getMinAmount(requestBody: GetCodeRequest, token: String, activity: Activity) =
viewModelScope.launch(
Common.handleError(activity)
) {
if (Common.isNetworkAvailable(activity)) {
getMinAmountMutableData.postValue(Resource.Loading())
val response = mainRepository.getCodesResponse(requestBody, token)
getMinAmountMutableData.postValue(handleResponse(response))
}
}
val getMaxAmountMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
fun getMaxAmount(requestBody: GetCodeRequest, token: String, activity: Activity) =
viewModelScope.launch(
Common.handleError(activity)
) {
if (Common.isNetworkAvailable(activity)) {
getMaxAmountMutableData.postValue(Resource.Loading())
val response = mainRepository.getCodesResponse(requestBody, token)
getMaxAmountMutableData.postValue(handleResponse(response))
}
}
}

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

@ -1,65 +0,0 @@
package com.nivesh.production.bajajfd.viewModel
import android.app.Activity
import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.ViewModel
import androidx.lifecycle.viewModelScope
import com.google.gson.JsonObject
import com.nivesh.production.bajajfd.model.CreateFDRequest
import com.nivesh.production.bajajfd.model.DocumentUpload
import com.nivesh.production.bajajfd.model.GetCodeRequest
import com.nivesh.production.bajajfd.model.GetRatesRequest
import com.nivesh.production.bajajfd.repositories.MainRepository
import com.nivesh.production.bajajfd.util.Common
import com.nivesh.production.bajajfd.util.Common.Companion.handleResponse
import com.nivesh.production.bajajfd.util.Resource
import kotlinx.coroutines.launch
import okhttp3.RequestBody
class StepThreeBajajFDViewModel(private val mainRepository: MainRepository) : ViewModel() {
val getTitleMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
fun titleApi(getCodeRequest: GetCodeRequest, token: String, activity: Activity) = viewModelScope.launch(
Common.handleError(activity)
) {
if (Common.isNetworkAvailable(activity)) {
getTitleMutableData.postValue(Resource.Loading())
val response = mainRepository.titleCheck(getCodeRequest, token)
getTitleMutableData.postValue(handleResponse(response))
}
}
val getDocumentUploadMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
fun documentsUpload(documentUpload: DocumentUpload, token: String, activity: Activity) = viewModelScope.launch(
Common.handleError(activity)
) {
if (Common.isNetworkAvailable(activity)) {
getDocumentUploadMutableData.postValue(Resource.Loading())
val response = mainRepository.documentsUploadResponse(documentUpload, token)
getDocumentUploadMutableData.postValue(handleResponse(response))
}
}
val getFDResponseMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
fun createFDApi(getRatesRequest: CreateFDRequest, token: String, activity: Activity) = viewModelScope.launch(
Common.handleError(activity)
) {
if (Common.isNetworkAvailable(activity)) {
getFDResponseMutableData.postValue(Resource.Loading())
val response = mainRepository.createFDKYCResponse(getRatesRequest, token)
getFDResponseMutableData.postValue(handleResponse(response))
}
}
val getFreshTokenMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
fun getFreshToken(body: RequestBody, token: String, activity: Activity) = viewModelScope.launch(
Common.handleError(activity)
) {
if (Common.isNetworkAvailable(activity)) {
getFreshTokenMutableData.postValue(Resource.Loading())
val response = mainRepository.freshToken(body)
getFreshTokenMutableData.postValue(handleResponse(response))
}
}
}

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

@ -1,191 +0,0 @@
package com.nivesh.production.bajajfd.viewModel
import android.app.Activity
import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.ViewModel
import androidx.lifecycle.viewModelScope
import com.google.gson.JsonObject
import com.nivesh.production.bajajfd.model.*
import com.nivesh.production.bajajfd.repositories.MainRepository
import com.nivesh.production.bajajfd.util.Common
import com.nivesh.production.bajajfd.util.Common.Companion.handleResponse
import com.nivesh.production.bajajfd.util.Common.Companion.handleResponse1
import com.nivesh.production.bajajfd.util.Constants.Companion.token
import com.nivesh.production.bajajfd.util.Resource
import kotlinx.coroutines.launch
import org.intellij.lang.annotations.Language
class StepTwoBajajFDViewModel(private val mainRepository: MainRepository) : ViewModel() {
val getPanCheckMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
fun panCheck(panCheck: PanCheckRequest, token: String, activity : Activity) = viewModelScope.launch(
Common.handleError(activity)
) {
if (Common.isNetworkAvailable(activity)) {
getPanCheckMutableData.postValue(Resource.Loading())
val response = mainRepository.panCheck(panCheck, token)
getPanCheckMutableData.postValue(handleResponse(response))
}
}
val getTitleMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
fun titleApi(getCodeRequest: GetCodeRequest, token: String, activity : Activity) = viewModelScope.launch(
Common.handleError(activity)
) {
if (Common.isNetworkAvailable(activity)) {
getTitleMutableData.postValue(Resource.Loading())
val response = mainRepository.titleCheck(getCodeRequest, token)
getTitleMutableData.postValue(handleResponse(response))
}
}
val getGenderMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
fun genderApi(getCodeRequest: GetCodeRequest, token: String,activity : Activity) = viewModelScope.launch(
Common.handleError(activity)
) {
if (Common.isNetworkAvailable(activity)) {
getGenderMutableData.postValue(Resource.Loading())
val response = mainRepository.genderCheck(getCodeRequest, token)
getGenderMutableData.postValue(handleResponse(response))
}
}
val getAnnualIncomeMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
fun annualIncomeApi(getCodeRequest: GetCodeRequest, token: String,activity : Activity) = viewModelScope.launch(
Common.handleError(activity)
) {
if (Common.isNetworkAvailable(activity)) {
getAnnualIncomeMutableData.postValue(Resource.Loading())
val response = mainRepository.annualIncomeCheck(getCodeRequest, token)
getAnnualIncomeMutableData.postValue(handleResponse(response))
}
}
val getRelationShipMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
fun relationShipApi(getCodeRequest: GetCodeRequest, token: String,activity : Activity) = viewModelScope.launch(
Common.handleError(activity)
) {
if (Common.isNetworkAvailable(activity)) {
getRelationShipMutableData.postValue(Resource.Loading())
val response = mainRepository.relationShipCheck(getCodeRequest, token)
getRelationShipMutableData.postValue(handleResponse(response))
}
}
val getMaritalStatusMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
fun maritalStatusApi(getCodeRequest: GetCodeRequest, token: String,activity : Activity) = viewModelScope.launch(
Common.handleError(activity)
) {
if (Common.isNetworkAvailable(activity)) {
getMaritalStatusMutableData.postValue(Resource.Loading())
val response = mainRepository.maritalStatusCheck(getCodeRequest, token)
getMaritalStatusMutableData.postValue(handleResponse(response))
}
}
val getOccupationMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
fun occupationApi(getCodeRequest: GetCodeRequest, token: String,activity : Activity) = viewModelScope.launch(
Common.handleError(activity)
) {
if (Common.isNetworkAvailable(activity)) {
getOccupationMutableData.postValue(Resource.Loading())
val response = mainRepository.occupationCheck(getCodeRequest, token)
getOccupationMutableData.postValue(handleResponse(response))
}
}
val getStateMasterMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
fun stateApi(token: String,activity : Activity) = viewModelScope.launch(
Common.handleError(activity)
) {
if (Common.isNetworkAvailable(activity)) {
getStateMasterMutableData.postValue(Resource.Loading())
val response = mainRepository.stateCheck(token)
getStateMasterMutableData.postValue(handleResponse(response))
}
}
val getCityListMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
fun cityListApi(cityRequest: CityRequest, token: String,activity : Activity) = viewModelScope.launch(
Common.handleError(activity)
) {
if (Common.isNetworkAvailable(activity)) {
getCityListMutableData.postValue(Resource.Loading())
val response = mainRepository.cityCheck(cityRequest, token)
getCityListMutableData.postValue(handleResponse(response))
}
}
val getFDBankListMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
fun bankListApi( token: String,language: String, activity : Activity) = viewModelScope.launch(
Common.handleError(activity)
) {
if (Common.isNetworkAvailable(activity)) {
getFDBankListMutableData.postValue(Resource.Loading())
val response = mainRepository.bankListCheck(token, language)
getFDBankListMutableData.postValue(handleResponse(response))
}
}
val getIfscCodeCheckMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
fun ifscCodeApi(ifsc : String,activity : Activity) = viewModelScope.launch(
Common.handleError(activity)
) {
if (Common.isNetworkAvailable(activity)) {
getIfscCodeCheckMutableData.postValue(Resource.Loading())
val response = mainRepository.ifscCodeCheck(ifsc)
getIfscCodeCheckMutableData.postValue(handleResponse(response))
}
}
val getIfscCodeDetailsCheckMutableData: MutableLiveData<Resource<String>> = MutableLiveData()
fun ifscCodeDetailsApi(ifsc : String,activity : Activity) = viewModelScope.launch(
Common.handleError(activity)
) {
if (Common.isNetworkAvailable(activity)) {
getIfscCodeDetailsCheckMutableData.postValue(Resource.Loading())
val response = mainRepository.ifscCodeBankDetailsCheck(ifsc, token)
getIfscCodeDetailsCheckMutableData.postValue(handleResponse1(response))
}
}
val getPaymentModeMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
fun paymentModeApi(getCodeRequest: GetCodeRequest, token: String,activity : Activity) = viewModelScope.launch(
Common.handleError(activity)
) {
if (Common.isNetworkAvailable(activity)) {
getPaymentModeMutableData.postValue(Resource.Loading())
val response = mainRepository.payModeCheck(getCodeRequest, token)
getPaymentModeMutableData.postValue(handleResponse(response))
}
}
val getFDResponseMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
fun createFDApi(getRatesRequest: CreateFDRequest, token: String,activity : Activity) = viewModelScope.launch(
Common.handleError(activity)
) {
if (Common.isNetworkAvailable(activity)) {
getFDResponseMutableData.postValue(Resource.Loading())
val response = mainRepository.createFDKYCResponse(getRatesRequest, token)
getFDResponseMutableData.postValue(handleResponse(response))
}
}
val bankValidationApiMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
fun bankValidationApi(bankValidationApiRequest : BankValidationApiRequest,token:String,activity : Activity) = viewModelScope.launch(
Common.handleError(activity)
) {
if (Common.isNetworkAvailable(activity)) {
bankValidationApiMutableData.postValue(Resource.Loading())
val response = mainRepository.bankValidationApiRequest(bankValidationApiRequest,token)
bankValidationApiMutableData.postValue(handleResponse(response))
}
}
}

+ 2
- 1
app/src/main/res/layout/fragment_bajajfd_step_one.xml View File

@ -78,7 +78,8 @@
android:inputType="number"
android:maxLength="12"
android:textColorHint="@color/greyColor2"
android:textSize="@dimen/text_size_14" />
android:textSize="@dimen/text_size_14"
tool:ignore="TextContrastCheck" />
</com.google.android.material.textfield.TextInputLayout>


+ 12
- 9
app/src/main/res/values-hi-rIN/strings.xml View File

@ -1,5 +1,5 @@
<resources>
<string name="appName">BajajFdLib</string>
<string name="appName">NiveshSDK</string>
<string name="bajaj">Bajaj</string>
<string name="app">App</string>
<string name="source">nivesh</string>
@ -140,6 +140,7 @@
<string name="emptyPAN">Please enter PAN number</string>
<string name="invalidPAN">Invalid PAN</string>
<string name="accountVerified">Account Verified</string>
<string name="emptyTitle">Please select title</string>
@ -198,7 +199,16 @@
<string name="selectOption">Select Option</string>
<string name="gallery">Gallery</string>
<string name="camera">Camera</string>
<string name="panLabel">PAN</string>
<string name="uploadPanDoc">Upload PAN Document</string>
<string name="uploadPhotoDoc">Upload Photo Document</string>
<string name="uploadAadharBackDoc">Upload Aadhar Back Document</string>
<string name="fiveAccountValidation">You can not add more than five accounts</string>
<string name="takePhoto">Take Photo</string>
<string name="chooseFromGallery">Choose from Gallery</string>
<string name="addPhoto">Add Photo!</string>
<string name="cancel">Cancel</string>
<string name="aadhar">Aadhar</string>
<!-- Step Four -->
<string name="makePayment">Make Payment</string>
@ -238,13 +248,6 @@
<string name="add_new_account">Add New Account</string>
<string name="Ok"><font fgcolor='#FF8E8E93'>OK</font></string>
<string name="cancel">Cancel</string>
<string name="aadhar">Aadhar</string>
<string name="uploadPanDoc">Upload PAN Document</string>
<string name="uploadPhotoDoc">Upload Photo Document</string>
<string name="uploadAadharBackDoc">Upload Aadhar Back Document</string>
<string name="fiveAccountValidation">You can not add more than five accounts</string>
<string name="panLabel">PAN</string>
</resources>

+ 1
- 1
app/src/main/res/values-night/themes.xml View File

@ -1,6 +1,6 @@
<resources>
<!-- Base application theme. -->
<style name="Theme.BajajFdLib" parent="Theme.MaterialComponents.DayNight.DarkActionBar">
<style name="Theme.NiveshSDK" parent="Theme.MaterialComponents.DayNight.DarkActionBar">
<!-- Primary brand color. -->
<item name="colorPrimary">#FFBB86FC</item>
<item name="colorPrimaryVariant">@color/colorPrimary</item>


+ 11
- 8
app/src/main/res/values/strings.xml View File

@ -1,5 +1,5 @@
<resources>
<string name="appName">BajajFdLib</string>
<string name="appName">NiveshSDK</string>
<string name="bajaj">Bajaj</string>
<string name="app">App</string>
<string name="source">nivesh</string>
@ -140,6 +140,7 @@
<string name="emptyPAN">Please enter PAN number</string>
<string name="invalidPAN">Invalid PAN</string>
<string name="accountVerified">Account Verified</string>
<string name="emptyTitle">Please select title</string>
@ -199,7 +200,15 @@
<string name="gallery">Gallery</string>
<string name="camera">Camera</string>
<string name="panLabel">PAN</string>
<string name="uploadPanDoc">Upload PAN Document</string>
<string name="uploadPhotoDoc">Upload Photo Document</string>
<string name="uploadAadharBackDoc">Upload Aadhar Back Document</string>
<string name="fiveAccountValidation">You can not add more than five accounts</string>
<string name="takePhoto">Take Photo</string>
<string name="chooseFromGallery">Choose from Gallery</string>
<string name="addPhoto">Add Photo!</string>
<string name="cancel">Cancel</string>
<string name="aadhar">Aadhar</string>
<!-- Step Four -->
<string name="makePayment">Make Payment</string>
@ -239,12 +248,6 @@
<string name="add_new_account">Add New Account</string>
<string name="Ok"><font fgcolor='#FF8E8E93'>OK</font></string>
<string name="cancel">Cancel</string>
<string name="aadhar">Aadhar</string>
<string name="uploadPanDoc">Upload PAN Document</string>
<string name="uploadPhotoDoc">Upload Photo Document</string>
<string name="uploadAadharBackDoc">Upload Aadhar Back Document</string>
<string name="fiveAccountValidation">You can not add more than five accounts</string>
</resources>

+ 1
- 1
app/src/main/res/values/themes.xml View File

@ -1,6 +1,6 @@
<resources>
<!-- Base application theme. -->
<style name="Theme.BajajFdLib" parent="Theme.MaterialComponents.DayNight.NoActionBar">
<style name="Theme.NiveshSDK" parent="Theme.MaterialComponents.DayNight.NoActionBar">
<!-- Primary brand color. -->
<item name="colorPrimary">#898989</item>
<item name="colorPrimaryVariant">@color/colorPrimary</item>


+ 1
- 15
app/src/main/res/xml/data_extraction_rules.xml View File

@ -1,19 +1,5 @@
<?xml version="1.0" encoding="utf-8"?><!--
Sample data extraction rules file; uncomment and customize as necessary.
See https://developer.android.com/about/versions/12/backup-restore#xml-changes
for details.
-->
<?xml version="1.0" encoding="utf-8"?>
<data-extraction-rules>
<cloud-backup>
<!-- TODO: Use <include> and <exclude> to control what is backed up.
<include .../>
<exclude .../>
-->
</cloud-backup>
<!--
<device-transfer>
<include .../>
<exclude .../>
</device-transfer>
-->
</data-extraction-rules>

+ 1
- 1
settings.gradle View File

@ -13,5 +13,5 @@ dependencyResolutionManagement {
maven { url 'https://jitpack.io' }
}
}
rootProject.name = "BajajFdLib"
rootProject.name = "NiveshSDK"
include ':app'

Loading…
Cancel
Save

Powered by TurnKey Linux.