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"> xmlns:tools="http://schemas.android.com/tools">
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <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.CAMERA" />
<uses-permission android:name="ANDROID.PERMISSION.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="ANDROID.PERMISSION.READ_EXTERNAL_STORAGE" />
<uses-feature <uses-feature
android:name="android.hardware.camera" android:name="android.hardware.camera"
@ -27,15 +29,13 @@
android:label="@string/appName" android:label="@string/appName"
android:roundIcon="@mipmap/ic_launcher_round" android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true" android:supportsRtl="true"
android:theme="@style/Theme.BajajFdLib"
android:theme="@style/Theme.NiveshSDK"
tools:targetApi="31"> tools:targetApi="31">
<!-- android:theme="@style/Theme.BajajFdLib" AppTheme-->
<activity <activity
android:name=".ui.activity.BajajFdMainActivity" android:name=".ui.activity.BajajFdMainActivity"
android:exported="true" android:exported="true"
android:windowSoftInputMode="adjustPan"
>
android:windowSoftInputMode="adjustPan">
<intent-filter> <intent-filter>
<action android:name="android.intent.action.MAIN" /> <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() { class BajajApplication : Application() {
private var mInstance: BajajApplication? = null private var mInstance: BajajApplication? = null
// private val mRequestQueue: RequestQueue? = null
companion object { companion object {
var appContext: Context? = null var appContext: Context? = null
} }
@ -15,8 +14,4 @@ class BajajApplication : Application() {
appContext = applicationContext 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.Fragment
import androidx.fragment.app.FragmentManager 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() { class BajajFdMainActivity : BaseActivity() {
lateinit var binding: ActivityBajajFdBinding lateinit var binding: ActivityBajajFdBinding
private lateinit var viewModel: BajajFDViewModel
lateinit var viewModel: BajajFDViewModel
private val stepOneBajajFDFragment = StepOneBajajFDFragment() private val stepOneBajajFDFragment = StepOneBajajFDFragment()
private val stepTwoBajajFDFragment = StepTwoBajajFDFragment() private val stepTwoBajajFDFragment = StepTwoBajajFDFragment()
@ -72,7 +72,7 @@ class BajajFdMainActivity : BaseActivity() {
//start Repository //start Repository
viewModel = ViewModelProvider( viewModel = ViewModelProvider(
this,
this@BajajFdMainActivity,
FDModelProviderFactory(MainRepository(ApiClient.getApiClient)) FDModelProviderFactory(MainRepository(ApiClient.getApiClient))
)[BajajFDViewModel::class.java] )[BajajFDViewModel::class.java]
@ -91,13 +91,12 @@ class BajajFdMainActivity : BaseActivity() {
ProgressUtil.showLoading(this) ProgressUtil.showLoading(this)
val fdStepsCount = FDStepsCountRequest() val fdStepsCount = FDStepsCountRequest()
fdStepsCount.FDProvider = getString(R.string.bajaj) fdStepsCount.FDProvider = getString(R.string.bajaj)
fdStepsCount.NiveshClientCode = "8872"
// client code =8872 /60476
fdStepsCount.NiveshClientCode = "8872" // 60476
viewModel.getStepsCount(fdStepsCount, token, this) viewModel.getStepsCount(fdStepsCount, token, this)
viewModel.getStepsCountMutableData.observe(this) { response -> viewModel.getStepsCountMutableData.observe(this) { response ->
when (response) { when (response) {
is Resource.Success -> { is Resource.Success -> {
Log.e("response", "-->$response")
Log.e("response", "-->${response.data.toString()}")
val stepsCountResponse: StepsCountResponse = val stepsCountResponse: StepsCountResponse =
Gson().fromJson( Gson().fromJson(
response.data?.toString(), response.data?.toString(),
@ -109,7 +108,7 @@ class BajajFdMainActivity : BaseActivity() {
stepCount = stepsCountResponse.Response.StepsCount stepCount = stepsCountResponse.Response.StepsCount
getClientDetailsApi(stepsCountResponse.Response.StepsCount) getClientDetailsApi(stepsCountResponse.Response.StepsCount)
} }
650 -> refreshToken("")
650 -> ""
else -> { else -> {
showDialogValidation( showDialogValidation(
this@BajajFdMainActivity, this@BajajFdMainActivity,
@ -135,11 +134,6 @@ class BajajFdMainActivity : BaseActivity() {
} }
} }
private fun refreshToken(fdStepsCount: String) {
}
private fun getClientDetailsApi(stepsCount: Int) { private fun getClientDetailsApi(stepsCount: Int) {
if (Common.isNetworkAvailable(this@BajajFdMainActivity)) { if (Common.isNetworkAvailable(this@BajajFdMainActivity)) {
ProgressUtil.showLoading(this) ProgressUtil.showLoading(this)
@ -147,7 +141,6 @@ class BajajFdMainActivity : BaseActivity() {
getClientDetailsRequest.client_code = "8872" getClientDetailsRequest.client_code = "8872"
getClientDetailsRequest.AppOrWeb = getString(R.string.app) getClientDetailsRequest.AppOrWeb = getString(R.string.app)
getClientDetailsRequest.sub_broker_code = "1038" getClientDetailsRequest.sub_broker_code = "1038"
// 8872/1038
val userRequest = UserRequest() val userRequest = UserRequest()
userRequest.UID = 0 userRequest.UID = 0
userRequest.IPAddress = "" userRequest.IPAddress = ""
@ -166,12 +159,12 @@ class BajajFdMainActivity : BaseActivity() {
deviceInfo.device_os_version = "" deviceInfo.device_os_version = ""
userRequest.deviceInfo = deviceInfo userRequest.deviceInfo = deviceInfo
getClientDetailsRequest.UserRequest = userRequest getClientDetailsRequest.UserRequest = userRequest
Log.e("getClientDetailRequest", "-->" + Gson().toJson(getClientDetailsRequest))
Log.e("getClientDetail ", " Request -->" + Gson().toJson(getClientDetailsRequest))
viewModel.getClientDetails(getClientDetailsRequest, token, this) viewModel.getClientDetails(getClientDetailsRequest, token, this)
viewModel.getClientDetailsMutableData.observe(this) { response -> viewModel.getClientDetailsMutableData.observe(this) { response ->
when (response) { when (response) {
is Resource.Success -> { is Resource.Success -> {
Log.e("response", "-->$response")
Log.e("getClientDetail ", " response -->${response.data.toString()}")
getClientDetailsResponse = getClientDetailsResponse =
Gson().fromJson( Gson().fromJson(
response.data?.toString(), response.data?.toString(),
@ -233,17 +226,20 @@ class BajajFdMainActivity : BaseActivity() {
val viewPager: DisableAdapter = binding.viewPager val viewPager: DisableAdapter = binding.viewPager
viewPager.setPagingEnabled(false) viewPager.setPagingEnabled(false)
viewPager.adapter = sectionsPagerAdapter viewPager.adapter = sectionsPagerAdapter
if (sectionsPagerAdapter.count > 1) {
viewPager.offscreenPageLimit = sectionsPagerAdapter.count - 1
} else {
viewPager.offscreenPageLimit = 1
}
viewPager.addOnPageChangeListener(object : ViewPager.OnPageChangeListener { viewPager.addOnPageChangeListener(object : ViewPager.OnPageChangeListener {
override fun onPageScrolled( override fun onPageScrolled(
position: Int, position: Int,
positionOffset: Float, positionOffset: Float,
positionOffsetPixels: Int positionOffsetPixels: Int
) { ) {
Log.e("onPageScrolled", "-->".plus(position))
} }
override fun onPageSelected(position: Int) { override fun onPageSelected(position: Int) {
Log.e("onPageSelected", "-->".plus(position))
when (position) { when (position) {
0 -> { 0 -> {
setBackground( setBackground(
@ -312,7 +308,7 @@ class BajajFdMainActivity : BaseActivity() {
viewModel.getFDKYCMutableData.observe(this) { response -> viewModel.getFDKYCMutableData.observe(this) { response ->
when (response) { when (response) {
is Resource.Success -> { is Resource.Success -> {
Log.e("response", "-->$response")
Log.e("response", "-->${response.data.toString()}")
val getCodeResponse: GetCodeResponse = val getCodeResponse: GetCodeResponse =
Gson().fromJson( Gson().fromJson(
response.data?.toString(), response.data?.toString(),
@ -367,8 +363,7 @@ class BajajFdMainActivity : BaseActivity() {
} }
// step 1 response // step 1 response
fun stepOneApi(data: String?) {
Log.e("stepOneApi", " response ---> $data")
fun stepOneApi() {
binding.viewPager.currentItem = 1 binding.viewPager.currentItem = 1
} }
@ -455,7 +450,7 @@ class BajajFdMainActivity : BaseActivity() {
} }
stepFiveBajajFDFragment.getData(paymentReQueryResponse) stepFiveBajajFDFragment.getData(paymentReQueryResponse)
} }
650 -> refreshToken("")
650 -> ""
else -> { else -> {
showDialogValidation( showDialogValidation(
this@BajajFdMainActivity, 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.View
import android.view.ViewGroup import android.view.ViewGroup
import androidx.fragment.app.Fragment 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.databinding.FragmentBajajfdStepFiveBinding
import com.nivesh.production.bajajfd.model.PaymentReQueryResponse 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() { class StepFiveBajajFDFragment : Fragment() {
private lateinit var stepFiveBajajFDViewModel: StepFiveBajajFDViewModel
private var _binding: FragmentBajajfdStepFiveBinding? = null private var _binding: FragmentBajajfdStepFiveBinding? = null
private val binding get() = _binding!! private val binding get() = _binding!!
@ -27,17 +21,13 @@ class StepFiveBajajFDFragment : Fragment() {
return binding.root return binding.root
} }
fun getData(paymentReQueryResponse: PaymentReQueryResponse) {
fun getData(paymentReQueryResponse: PaymentReQueryResponse) {
}
}
override fun onViewCreated(view: View, savedInstanceState: Bundle?) { override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState) super.onViewCreated(view, savedInstanceState)
stepFiveBajajFDViewModel = ViewModelProvider(
this,
StepFiveModelProviderFactory(MainRepository(ApiClient.getApiClient))
)[StepFiveBajajFDViewModel::class.java]
binding.btnViewOrder.setOnClickListener { 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.View
import android.view.ViewGroup import android.view.ViewGroup
import androidx.core.content.res.ResourcesCompat import androidx.core.content.res.ResourcesCompat
import androidx.lifecycle.ViewModelProvider
import androidx.fragment.app.Fragment
import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.LinearLayoutManager
import com.google.gson.Gson import com.google.gson.Gson
import com.nivesh.production.bajajfd.R import com.nivesh.production.bajajfd.R
import com.nivesh.production.bajajfd.adapter.CustomerListAdapter import com.nivesh.production.bajajfd.adapter.CustomerListAdapter
import com.nivesh.production.bajajfd.api.ApiClient
import com.nivesh.production.bajajfd.databinding.FragmentBajajfdStepFourBinding import com.nivesh.production.bajajfd.databinding.FragmentBajajfdStepFourBinding
import com.nivesh.production.bajajfd.model.* 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.activity.BajajFdMainActivity
import com.nivesh.production.bajajfd.ui.providerfactory.StepFourModelProviderFactory
import com.nivesh.production.bajajfd.util.Common import com.nivesh.production.bajajfd.util.Common
import com.nivesh.production.bajajfd.util.Common.Companion.showDialogValidation import com.nivesh.production.bajajfd.util.Common.Companion.showDialogValidation
import com.nivesh.production.bajajfd.util.Constants
import com.nivesh.production.bajajfd.util.Constants.Companion.token import com.nivesh.production.bajajfd.util.Constants.Companion.token
import com.nivesh.production.bajajfd.util.Resource import com.nivesh.production.bajajfd.util.Resource
import com.nivesh.production.bajajfd.viewModel.StepFourBajajFDViewModel
class StepFourBajajFDFragment : BaseFragment() {
class StepFourBajajFDFragment : Fragment() {
private lateinit var stepFourBajajFDViewModel: StepFourBajajFDViewModel
private var _binding: FragmentBajajfdStepFourBinding? = null private var _binding: FragmentBajajfdStepFourBinding? = null
private val binding get() = _binding!! private val binding get() = _binding!!
private lateinit var listOfCustomer: MutableList<GetCodes> private lateinit var listOfCustomer: MutableList<GetCodes>
private var selectedList: String = "" private var selectedList: String = ""
private var payUrl: String = "" private var payUrl: String = ""
@ -45,21 +40,25 @@ class StepFourBajajFDFragment : BaseFragment() {
override fun onViewCreated(view: View, savedInstanceState: Bundle?) { override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState) super.onViewCreated(view, savedInstanceState)
stepFourBajajFDViewModel = ViewModelProvider(
this,
StepFourModelProviderFactory(MainRepository(ApiClient.getApiClient))
)[StepFourBajajFDViewModel::class.java]
binding.checkBox.setOnCheckedChangeListener { _, _ ->
}
if ((activity as BajajFdMainActivity).loginRole == 5) { 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.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 { binding.btnNext.setOnClickListener {
@ -89,7 +88,7 @@ class StepFourBajajFDFragment : BaseFragment() {
resources.getString(R.string.validTermsConditions) resources.getString(R.string.validTermsConditions)
) )
} }
}else{
} else {
// go to view order // go to view order
} }
} }
@ -100,11 +99,15 @@ class StepFourBajajFDFragment : BaseFragment() {
} }
private fun saveFDOtherData(data: SaveFDOtherDataRequest, payUrl: String, value: String) { 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) { when (response) {
is Resource.Success -> { is Resource.Success -> {
Log.e("response", "-->" + response.data.toString())
Log.e("saveFDOtherData", " response -->${response.data.toString()}")
val saveFDOtherDataResponse: SaveFDOtherDataResponse = val saveFDOtherDataResponse: SaveFDOtherDataResponse =
Gson().fromJson( Gson().fromJson(
response.data?.toString(), response.data?.toString(),
@ -147,21 +150,22 @@ class StepFourBajajFDFragment : BaseFragment() {
} }
private fun customerListApi() { private fun customerListApi() {
val getCodeRequest = GetCodeRequest() val getCodeRequest = GetCodeRequest()
getCodeRequest.ProductName = getString(R.string.bajajFD) getCodeRequest.ProductName = getString(R.string.bajajFD)
getCodeRequest.Category = getString(R.string.customerCategory) getCodeRequest.Category = getString(R.string.customerCategory)
getCodeRequest.Language = getString(R.string.language) getCodeRequest.Language = getString(R.string.language)
getCodeRequest.InputValue = "" getCodeRequest.InputValue = ""
stepFourBajajFDViewModel.paymentModeApi(
(activity as BajajFdMainActivity).viewModel.paymentModeApi(
getCodeRequest, getCodeRequest,
Constants.token,
token,
activity as BajajFdMainActivity activity as BajajFdMainActivity
) )
stepFourBajajFDViewModel.getPaymentModeMutableData.observe(viewLifecycleOwner) { response ->
(activity as BajajFdMainActivity).viewModel.getPaymentModeMutableData.observe(
viewLifecycleOwner
) { response ->
when (response) { when (response) {
is Resource.Success -> { is Resource.Success -> {
Log.e("response", "-->$response")
Log.e("customerListApi", " response -->${response.data.toString()}")
val getCodeResponse: GetCodeResponse = val getCodeResponse: GetCodeResponse =
Gson().fromJson(response.data?.toString(), GetCodeResponse::class.java) Gson().fromJson(response.data?.toString(), GetCodeResponse::class.java)
getCodeResponse.Response.StatusCode.let { code -> getCodeResponse.Response.StatusCode.let { code ->
@ -207,21 +211,23 @@ class StepFourBajajFDFragment : BaseFragment() {
} }
private fun getFDDetailsApi() { private fun getFDDetailsApi() {
if (Common.isNetworkAvailable(mActivity!!)) {
if (Common.isNetworkAvailable(activity as BajajFdMainActivity)) {
val getFDDetailsRequest = GetFDDetailsRequest() val getFDDetailsRequest = GetFDDetailsRequest()
getFDDetailsRequest.FDProvider = mActivity!!.getString(R.string.bajaj)
getFDDetailsRequest.FDProvider = getString(R.string.bajaj)
getFDDetailsRequest.NiveshClientCode = 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 getFDDetailsRequest.UniqueId = (activity as BajajFdMainActivity).uniqueId
stepFourBajajFDViewModel.getFDDetails(
(activity as BajajFdMainActivity).viewModel.getFDDetails(
getFDDetailsRequest, getFDDetailsRequest,
Constants.token,
token,
activity as BajajFdMainActivity activity as BajajFdMainActivity
) )
stepFourBajajFDViewModel.getFDDetailsMutableData.observe(viewLifecycleOwner) { response ->
(activity as BajajFdMainActivity).viewModel.getFDDetailsMutableData.observe(
viewLifecycleOwner
) { response ->
when (response) { when (response) {
is Resource.Success -> { is Resource.Success -> {
Log.e("response", "-->$response")
Log.e("getFDDetailsApi", " response -->${response.data.toString()}")
val getFDDetailsResponse: GetFDDetailsResponse = val getFDDetailsResponse: GetFDDetailsResponse =
Gson().fromJson( Gson().fromJson(
response.data?.toString(), 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.view.ViewGroup
import android.widget.ArrayAdapter import android.widget.ArrayAdapter
import android.widget.RadioButton import android.widget.RadioButton
import androidx.lifecycle.ViewModelProvider
import androidx.fragment.app.Fragment
import androidx.recyclerview.widget.DefaultItemAnimator import androidx.recyclerview.widget.DefaultItemAnimator
import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView.LayoutManager import androidx.recyclerview.widget.RecyclerView.LayoutManager
import com.google.gson.Gson import com.google.gson.Gson
import com.nivesh.production.bajajfd.R import com.nivesh.production.bajajfd.R
import com.nivesh.production.bajajfd.adapter.HorizontalRecyclerViewAdapter 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.databinding.FragmentBajajfdStepOneBinding
import com.nivesh.production.bajajfd.model.* 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.activity.BajajFdMainActivity
import com.nivesh.production.bajajfd.ui.providerfactory.StepOneModelProviderFactory
import com.nivesh.production.bajajfd.util.Common import com.nivesh.production.bajajfd.util.Common
import com.nivesh.production.bajajfd.util.Common.Companion.commonErrorMethod import com.nivesh.production.bajajfd.util.Common.Companion.commonErrorMethod
import com.nivesh.production.bajajfd.util.Common.Companion.removeError import com.nivesh.production.bajajfd.util.Common.Companion.removeError
import com.nivesh.production.bajajfd.util.Constants.Companion.token import com.nivesh.production.bajajfd.util.Constants.Companion.token
import com.nivesh.production.bajajfd.util.Resource import com.nivesh.production.bajajfd.util.Resource
import com.nivesh.production.bajajfd.viewModel.StepOneBajajFDViewModel
class StepOneBajajFDFragment : BaseFragment() {
class StepOneBajajFDFragment : Fragment() {
private var _binding: FragmentBajajfdStepOneBinding? = null private var _binding: FragmentBajajfdStepOneBinding? = null
private val binding get() = _binding!! private val binding get() = _binding!!
private lateinit var stepOneBajajFDViewModel: StepOneBajajFDViewModel
private lateinit var rgMaturity: RadioButton private lateinit var rgMaturity: RadioButton
private lateinit var listOfTenure: MutableList<ROIDataList> private lateinit var listOfTenure: MutableList<ROIDataList>
private lateinit var recyclerViewDropDownAdapter: HorizontalRecyclerViewAdapter private lateinit var recyclerViewDropDownAdapter: HorizontalRecyclerViewAdapter
@ -57,19 +52,14 @@ class StepOneBajajFDFragment : BaseFragment() {
override fun onViewCreated(view: View, savedInstanceState: Bundle?) { override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState) 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() listOfMinAmount = ArrayList()
listOfMaxAmount = ArrayList() listOfMaxAmount = ArrayList()
listOfFrequency = 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 // Amount
binding.edtAmount.addTextChangedListener(object : TextWatcher { binding.edtAmount.addTextChangedListener(object : TextWatcher {
override fun afterTextChanged(s: Editable?) {} override fun afterTextChanged(s: Editable?) {}
@ -92,7 +82,6 @@ class StepOneBajajFDFragment : BaseFragment() {
} else { } else {
binding.txtCumulativeNon.text = getString(R.string.cumulativeROI) binding.txtCumulativeNon.text = getString(R.string.cumulativeROI)
} }
if (binding.edtAmount.text.toString().trim().isNotEmpty()) { if (binding.edtAmount.text.toString().trim().isNotEmpty()) {
maturityAmountApi(tenure, interest) maturityAmountApi(tenure, interest)
} }
@ -123,11 +112,6 @@ class StepOneBajajFDFragment : BaseFragment() {
Log.e("Maturity", "-->" + rgMaturity.text) Log.e("Maturity", "-->" + rgMaturity.text)
} }
// TAX Deduct
binding.rbDeductTax.setOnCheckedChangeListener { _, _ ->
Log.e("DeductTax", "-->" + binding.rbDeductTax.isChecked)
}
// Next Button // Next Button
binding.btnNext.setOnClickListener { binding.btnNext.setOnClickListener {
if (validation()) { if (validation()) {
@ -137,7 +121,8 @@ class StepOneBajajFDFragment : BaseFragment() {
binding.spInterestPayout.text.toString() binding.spInterestPayout.text.toString()
(activity as BajajFdMainActivity).fdInvestmentDetails.Tenure = tenure (activity as BajajFdMainActivity).fdInvestmentDetails.Tenure = tenure
(activity as BajajFdMainActivity).fdInvestmentDetails.Interest = interest (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 = (activity as BajajFdMainActivity).fdInvestmentDetails.Provider =
getString(R.string.bajaj) getString(R.string.bajaj)
(activity as BajajFdMainActivity).fdInvestmentDetails.IPAddress = "192.168.1.23" (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.CustomerType = ""
(activity as BajajFdMainActivity).fdInvestmentDetails.CKYCNumber = "" (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).createFDApplicantRequest.FDInvestmentDetails =
(activity as BajajFdMainActivity).fdInvestmentDetails (activity as BajajFdMainActivity).fdInvestmentDetails
@ -162,13 +148,12 @@ class StepOneBajajFDFragment : BaseFragment() {
"StepOneData", "StepOneData",
"-->" + Gson().toJson((activity as BajajFdMainActivity).fdInvestmentDetails) "-->" + Gson().toJson((activity as BajajFdMainActivity).fdInvestmentDetails)
) )
(activity as BajajFdMainActivity).stepOneApi("stepOneResponse")
(activity as BajajFdMainActivity).stepOneApi()
} }
} }
minAmountApi() minAmountApi()
interestPayoutApi() interestPayoutApi()
} }
private fun interestPayoutApi() { private fun interestPayoutApi() {
@ -177,11 +162,15 @@ class StepOneBajajFDFragment : BaseFragment() {
getCodeRequest.Category = getString(R.string.category) getCodeRequest.Category = getString(R.string.category)
getCodeRequest.Language = getString(R.string.language) getCodeRequest.Language = getString(R.string.language)
getCodeRequest.InputValue = "" 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) { when (response) {
is Resource.Success -> { is Resource.Success -> {
Log.e("response", "-->$response")
Log.e("interestPayoutApi", " response -->${response.data.toString()}")
val getCodeResponse: GetCodeResponse = val getCodeResponse: GetCodeResponse =
Gson().fromJson(response.data?.toString(), GetCodeResponse::class.java) Gson().fromJson(response.data?.toString(), GetCodeResponse::class.java)
getCodeResponse.Response.StatusCode.let { code -> getCodeResponse.Response.StatusCode.let { code ->
@ -202,9 +191,14 @@ class StepOneBajajFDFragment : BaseFragment() {
binding.tvFrequency.text = binding.tvFrequency.text =
adapter.getItem(listOfFrequency.size - 1)?.Value adapter.getItem(listOfFrequency.size - 1)?.Value
getRatesApi() getRatesApi()
}else{
Common.showDialogValidation(
activity as BajajFdMainActivity,
"Interest Payout Frequency Data Is Missing."
)
} }
} }
// 650 -> refreshToken()
650 -> ""
else -> { else -> {
Common.showDialogValidation( Common.showDialogValidation(
activity as BajajFdMainActivity, activity as BajajFdMainActivity,
@ -236,11 +230,17 @@ class StepOneBajajFDFragment : BaseFragment() {
getCodeRequest.Category = getString(R.string.minAmountCategory) getCodeRequest.Category = getString(R.string.minAmountCategory)
getCodeRequest.Language = getString(R.string.language) getCodeRequest.Language = getString(R.string.language)
getCodeRequest.InputValue = "" 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) { when (response) {
is Resource.Success -> { is Resource.Success -> {
Log.e("response", "-->$response")
Log.e("minAmountApi ", " response-->${response.data.toString()}")
val getCodeResponse: GetCodeResponse = val getCodeResponse: GetCodeResponse =
Gson().fromJson(response.data?.toString(), GetCodeResponse::class.java) Gson().fromJson(response.data?.toString(), GetCodeResponse::class.java)
getCodeResponse.Response.StatusCode.let { code -> getCodeResponse.Response.StatusCode.let { code ->
@ -254,7 +254,7 @@ class StepOneBajajFDFragment : BaseFragment() {
} }
maxAmountApi() maxAmountApi()
} }
// 650 -> refreshToken()
650 -> ""
else -> { else -> {
Common.showDialogValidation( Common.showDialogValidation(
activity as BajajFdMainActivity, activity as BajajFdMainActivity,
@ -286,11 +286,17 @@ class StepOneBajajFDFragment : BaseFragment() {
getCodeRequest.Category = getString(R.string.MaxAmountCategory) getCodeRequest.Category = getString(R.string.MaxAmountCategory)
getCodeRequest.Language = getString(R.string.language) getCodeRequest.Language = getString(R.string.language)
getCodeRequest.InputValue = "" 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) { when (response) {
is Resource.Success -> { is Resource.Success -> {
Log.e("response", "-->$response")
Log.e("maxAmountApi ", " response-->${response.data.toString()}")
val getCodeResponse: GetCodeResponse = val getCodeResponse: GetCodeResponse =
Gson().fromJson(response.data?.toString(), GetCodeResponse::class.java) Gson().fromJson(response.data?.toString(), GetCodeResponse::class.java)
getCodeResponse.Response.StatusCode.let { code -> getCodeResponse.Response.StatusCode.let { code ->
@ -298,7 +304,7 @@ class StepOneBajajFDFragment : BaseFragment() {
200 -> { 200 -> {
listOfMaxAmount = getCodeResponse.Response.GetCodesList listOfMaxAmount = getCodeResponse.Response.GetCodesList
} }
// 650 -> refreshToken()
650 -> ""
else -> { else -> {
Common.showDialogValidation( Common.showDialogValidation(
activity as BajajFdMainActivity, activity as BajajFdMainActivity,
@ -353,13 +359,16 @@ class StepOneBajajFDFragment : BaseFragment() {
maturityAmountRequest.Frequency = binding.spInterestPayout.text.toString() maturityAmountRequest.Frequency = binding.spInterestPayout.text.toString()
maturityAmountRequest.Tenure = tenure maturityAmountRequest.Tenure = tenure
maturityAmountRequest.Interest = interest maturityAmountRequest.Interest = interest
stepOneBajajFDViewModel.getMaturityAmount(
(activity as BajajFdMainActivity).viewModel.getMaturityAmount(
maturityAmountRequest, maturityAmountRequest,
activity as BajajFdMainActivity activity as BajajFdMainActivity
) )
stepOneBajajFDViewModel.getMaturityAmountMutableData.observe(viewLifecycleOwner) { response ->
(activity as BajajFdMainActivity).viewModel.getMaturityAmountMutableData.observe(
viewLifecycleOwner
) { response ->
when (response) { when (response) {
is Resource.Success -> { is Resource.Success -> {
Log.e("maturityAmountApi ", " response-->${response.data.toString()}")
val getMaturityAmountResponse = val getMaturityAmountResponse =
Gson().fromJson( Gson().fromJson(
response.data?.toString(), response.data?.toString(),
@ -452,8 +461,12 @@ class StepOneBajajFDFragment : BaseFragment() {
} else { } else {
getRatesRequest.type = getString(R.string.nonSeniorCitizen) 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) { when (response) {
is Resource.Success -> { is Resource.Success -> {
val getRatesResponse: GetRatesResponse = val getRatesResponse: GetRatesResponse =
@ -523,6 +536,6 @@ class StepOneBajajFDFragment : BaseFragment() {
override fun onDestroyView() { override fun onDestroyView() {
super.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.appcompat.app.AlertDialog
import androidx.core.content.ContextCompat import androidx.core.content.ContextCompat
import androidx.core.content.FileProvider import androidx.core.content.FileProvider
import androidx.lifecycle.ViewModelProvider
import androidx.fragment.app.Fragment
import androidx.lifecycle.lifecycleScope import androidx.lifecycle.lifecycleScope
import com.google.gson.Gson import com.google.gson.Gson
import com.google.gson.JsonObject
import com.nivesh.production.bajajfd.BuildConfig import com.nivesh.production.bajajfd.BuildConfig
import com.nivesh.production.bajajfd.R 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.databinding.FragmentBajajfdStepThreeBinding
import com.nivesh.production.bajajfd.model.* 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.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.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.* 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 var _binding: FragmentBajajfdStepThreeBinding? = null
private val binding get() = _binding!! private val binding get() = _binding!!
private lateinit var stepThreeBajajFDViewModel: StepThreeBajajFDViewModel
private var takeImageResult: ActivityResultLauncher<Uri>? = null private var takeImageResult: ActivityResultLauncher<Uri>? = null
private var selectImageIntent: ActivityResultLauncher<String>? = 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 panString: String = ""
private var photoString: String = "" private var photoString: String = ""
@ -82,15 +67,6 @@ class StepThreeBajajFDFragment : BaseFragment() {
private val secondDocUpload: Int = 4 private val secondDocUpload: Int = 4
private var actionType: Int = -1 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( private val requestPermission = registerForActivityResult(
ActivityResultContracts.RequestPermission() ActivityResultContracts.RequestPermission()
@ -113,10 +89,12 @@ class StepThreeBajajFDFragment : BaseFragment() {
override fun onViewCreated(view: View, savedInstanceState: Bundle?) { override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState) 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()) selectImageIntent = registerForActivityResult(ActivityResultContracts.GetContent())
{ uri: Uri? -> { uri: Uri? ->
@ -155,7 +133,6 @@ class StepThreeBajajFDFragment : BaseFragment() {
} }
var uploadPosition = 0 var uploadPosition = 0
for (entry in mapImage.iterator()) { for (entry in mapImage.iterator()) {
ProgressUtil.showLoading(activity as BajajFdMainActivity)
uploadPosition++ uploadPosition++
uploadDocApi(entry.key, entry.value, uploadPosition) uploadDocApi(entry.key, entry.value, uploadPosition)
} }
@ -227,13 +204,13 @@ class StepThreeBajajFDFragment : BaseFragment() {
private fun selectImage() { private fun selectImage() {
val builder = AlertDialog.Builder( val builder = AlertDialog.Builder(
mActivity!!
activity as BajajFdMainActivity
) )
builder.setTitle("Add Photo!")
builder.setTitle(getString(R.string.addPhoto))
builder.setItems( builder.setItems(
check check
) { dialog: DialogInterface, item: Int -> ) { dialog: DialogInterface, item: Int ->
if (check[item] == "Take Photo") {
if (check!![item] == getString(R.string.takePhoto)) {
val permission = ContextCompat.checkSelfPermission( val permission = ContextCompat.checkSelfPermission(
activity as BajajFdMainActivity, activity as BajajFdMainActivity,
Manifest.permission.CAMERA Manifest.permission.CAMERA
@ -246,7 +223,7 @@ class StepThreeBajajFDFragment : BaseFragment() {
) )
} }
dialog.dismiss() dialog.dismiss()
} else if (check[item] == "Choose from Gallery") {
} else if (check!![item] == getString(R.string.chooseFromGallery)) {
val permission = ContextCompat.checkSelfPermission( val permission = ContextCompat.checkSelfPermission(
activity as BajajFdMainActivity, activity as BajajFdMainActivity,
Manifest.permission.READ_EXTERNAL_STORAGE Manifest.permission.READ_EXTERNAL_STORAGE
@ -258,7 +235,7 @@ class StepThreeBajajFDFragment : BaseFragment() {
Manifest.permission.READ_EXTERNAL_STORAGE Manifest.permission.READ_EXTERNAL_STORAGE
) )
} }
} else if (check[item] == "Cancel") {
} else if (check!![item] == getString(R.string.cancel)) {
dialog.dismiss() dialog.dismiss()
} }
} }
@ -418,13 +395,14 @@ class StepThreeBajajFDFragment : BaseFragment() {
du.NiveshClientCode = du.NiveshClientCode =
(activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_CODE (activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_CODE
du.UniqueId = (activity as BajajFdMainActivity).uniqueId du.UniqueId = (activity as BajajFdMainActivity).uniqueId
stepThreeBajajFDViewModel.documentsUpload(
(activity as BajajFdMainActivity).viewModel.documentsUpload(
du, du,
Constants.token, Constants.token,
activity as BajajFdMainActivity activity as BajajFdMainActivity
) )
stepThreeBajajFDViewModel.getDocumentUploadMutableData.observe(viewLifecycleOwner) { response ->
ProgressUtil.hideLoading()
(activity as BajajFdMainActivity).viewModel.getDocumentUploadMutableData.observe(
viewLifecycleOwner
) { response ->
when (response) { when (response) {
is Resource.Success -> { is Resource.Success -> {
Log.e("UploadImage", "Response-->" + response.data.toString()) Log.e("UploadImage", "Response-->" + response.data.toString())
@ -443,7 +421,7 @@ class StepThreeBajajFDFragment : BaseFragment() {
createFDApi((activity as BajajFdMainActivity).createFDRequest) createFDApi((activity as BajajFdMainActivity).createFDRequest)
} }
} }
650 -> refreshToken()
// 650 -> refreshToken()
else -> { else -> {
Common.showDialogValidation( Common.showDialogValidation(
activity as BajajFdMainActivity, activity as BajajFdMainActivity,
@ -460,125 +438,24 @@ class StepThreeBajajFDFragment : BaseFragment() {
} }
} }
is Resource.Loading -> { 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) { private fun createFDApi(data: CreateFDRequest) {
stepThreeBajajFDViewModel.createFDApi(
(activity as BajajFdMainActivity).viewModel.createFDApi(
data, data,
Constants.token, Constants.token,
activity as BajajFdMainActivity activity as BajajFdMainActivity
) )
stepThreeBajajFDViewModel.getFDResponseMutableData.observe(viewLifecycleOwner) { response ->
(activity as BajajFdMainActivity).viewModel.getFDResponseMutableData.observe(
viewLifecycleOwner
) { response ->
when (response) { when (response) {
is Resource.Success -> { is Resource.Success -> {
Log.e("createFDApi", "response--> " + response.data.toString()) Log.e("createFDApi", "response--> " + response.data.toString())
@ -624,12 +501,12 @@ class StepThreeBajajFDFragment : BaseFragment() {
getCodeRequest.Category = getString(R.string.docType) getCodeRequest.Category = getString(R.string.docType)
getCodeRequest.Language = getString(R.string.language) getCodeRequest.Language = getString(R.string.language)
getCodeRequest.InputValue = "" getCodeRequest.InputValue = ""
stepThreeBajajFDViewModel.titleApi(
(activity as BajajFdMainActivity).viewModel.docTypeApi(
getCodeRequest, getCodeRequest,
Constants.token, Constants.token,
activity as BajajFdMainActivity activity as BajajFdMainActivity
) )
stepThreeBajajFDViewModel.getTitleMutableData.observe(viewLifecycleOwner) { response ->
(activity as BajajFdMainActivity).viewModel.getDocTypeMutableData.observe(viewLifecycleOwner) { response ->
when (response) { when (response) {
is Resource.Success -> { is Resource.Success -> {
Log.e("response", "-->$response") 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.RadioButton
import android.widget.TextView import android.widget.TextView
import androidx.core.content.ContextCompat import androidx.core.content.ContextCompat
import androidx.lifecycle.ViewModelProvider
import androidx.fragment.app.Fragment
import androidx.recyclerview.widget.GridLayoutManager import androidx.recyclerview.widget.GridLayoutManager
import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView 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.BankListAdapter
import com.nivesh.production.bajajfd.adapter.PaymentModeAdapter import com.nivesh.production.bajajfd.adapter.PaymentModeAdapter
import com.nivesh.production.bajajfd.adapter.RecommendedBankListAdapter import com.nivesh.production.bajajfd.adapter.RecommendedBankListAdapter
import com.nivesh.production.bajajfd.api.ApiClient
import com.nivesh.production.bajajfd.databinding.FragmentBajajfdStepTwoBinding import com.nivesh.production.bajajfd.databinding.FragmentBajajfdStepTwoBinding
import com.nivesh.production.bajajfd.model.* 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.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.commonErrorAutoCompleteMethod
import com.nivesh.production.bajajfd.util.Common.Companion.commonErrorMethod import com.nivesh.production.bajajfd.util.Common.Companion.commonErrorMethod
import com.nivesh.production.bajajfd.util.Common.Companion.commonSpinnerErrorMethod 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.Common.Companion.showDialogValidation
import com.nivesh.production.bajajfd.util.Constants.Companion.token import com.nivesh.production.bajajfd.util.Constants.Companion.token
import com.nivesh.production.bajajfd.util.Resource import com.nivesh.production.bajajfd.util.Resource
import com.nivesh.production.bajajfd.viewModel.StepTwoBajajFDViewModel
import java.util.* import java.util.*
class StepTwoBajajFDFragment : BaseFragment() {
class StepTwoBajajFDFragment : Fragment() {
private var _binding: FragmentBajajfdStepTwoBinding? = null private var _binding: FragmentBajajfdStepTwoBinding? = null
private val binding get() = _binding!! 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 listOfTitle: List<GetCodes>
private lateinit var listOfGender: List<GetCodes> private lateinit var listOfGender: List<GetCodes>
private lateinit var listOfAnnualIncome: List<GetCodes> private lateinit var listOfAnnualIncome: List<GetCodes>
@ -71,28 +62,25 @@ class StepTwoBajajFDFragment : BaseFragment() {
private lateinit var listOfCities: List<DataObjectX> private lateinit var listOfCities: List<DataObjectX>
private lateinit var listOfIFSC: MutableList<String> private lateinit var listOfIFSC: MutableList<String>
private lateinit var stepTwoBajajFDViewModel: StepTwoBajajFDViewModel
private lateinit var bankListAdapter: BankListAdapter private lateinit var bankListAdapter: BankListAdapter
private lateinit var paymentModeAdapter: PaymentModeAdapter private lateinit var paymentModeAdapter: PaymentModeAdapter
private lateinit var stateObject: DataObject private lateinit var stateObject: DataObject
private val listOfBanks: MutableList<ClientBanklist> = mutableListOf() private val listOfBanks: MutableList<ClientBanklist> = mutableListOf()
private lateinit var rbBank: RadioButton
private lateinit var rbPaymentMode: RadioButton
private var cal = Calendar.getInstance()
override fun onCreateView( override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?, inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle? savedInstanceState: Bundle?
): View { ): View {
_binding = FragmentBajajfdStepTwoBinding.inflate(inflater, container, false) _binding = FragmentBajajfdStepTwoBinding.inflate(inflater, container, false)
return binding.root return binding.root
} }
override fun onViewCreated(view: View, savedInstanceState: Bundle?) { override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState) super.onViewCreated(view, savedInstanceState)
stepTwoBajajFDViewModel = ViewModelProvider(
this,
StepTwoModelProviderFactory(MainRepository(ApiClient.getApiClient))
)[StepTwoBajajFDViewModel::class.java]
listOfTitle = ArrayList() listOfTitle = ArrayList()
listOfGender = ArrayList() listOfGender = ArrayList()
listOfAnnualIncome = ArrayList() listOfAnnualIncome = ArrayList()
@ -102,9 +90,7 @@ class StepTwoBajajFDFragment : BaseFragment() {
listOfStates = ArrayList() listOfStates = ArrayList()
listOfIFSC = ArrayList() listOfIFSC = ArrayList()
listOfPayMode = ArrayList() listOfPayMode = ArrayList()
stateObject = DataObject() stateObject = DataObject()
rbPaymentMode = RadioButton(activity as BajajFdMainActivity) rbPaymentMode = RadioButton(activity as BajajFdMainActivity)
// Personal Details // Personal Details
@ -529,8 +515,7 @@ class StepTwoBajajFDFragment : BaseFragment() {
binding.edtFirstName.text.toString().plus(" ") binding.edtFirstName.text.toString().plus(" ")
.plus(binding.edtMiddleName.text.toString()).plus(" ") .plus(binding.edtMiddleName.text.toString()).plus(" ")
.plus(binding.edtLastName.text.toString()), .plus(binding.edtLastName.text.toString()),
binding.edtMobileNumber.text.toString(),
1
binding.edtMobileNumber.text.toString()
, (activity as BajajFdMainActivity).loginRole) , (activity as BajajFdMainActivity).loginRole)
} }
} }
@ -547,7 +532,7 @@ class StepTwoBajajFDFragment : BaseFragment() {
binding.addBankDetail.setOnClickListener { binding.addBankDetail.setOnClickListener {
if (bankListAdapter.itemCount == 5) { if (bankListAdapter.itemCount == 5) {
showDialogValidation(mActivity, getString(R.string.fiveAccountValidation))
showDialogValidation(activity as BajajFdMainActivity, getString(R.string.fiveAccountValidation))
} else { } else {
showHideBankDetail() showHideBankDetail()
} }
@ -728,11 +713,11 @@ class StepTwoBajajFDFragment : BaseFragment() {
} }
private fun createFDApi(data: CreateFDRequest) { 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) { when (response) {
is Resource.Success -> { is Resource.Success -> {
Log.e("response", "-->$response")
Log.e("createFDApi ", " response -->$response")
val createFDApplicationResponse: CreateFDApplicationResponse = val createFDApplicationResponse: CreateFDApplicationResponse =
Gson().fromJson( Gson().fromJson(
response.data?.toString(), response.data?.toString(),
@ -773,10 +758,11 @@ class StepTwoBajajFDFragment : BaseFragment() {
private fun ifscCodeCheckApi(ifsc: String) { private fun ifscCodeCheckApi(ifsc: String) {
if (ifsc.length >= 10) { 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) { when (response) {
is Resource.Success -> { is Resource.Success -> {
Log.e("ifscCodeCheckApi ", " response -->$response")
val getIFSCCodeListResponse = val getIFSCCodeListResponse =
Gson().fromJson( Gson().fromJson(
response.data?.toString(), response.data?.toString(),
@ -839,14 +825,15 @@ class StepTwoBajajFDFragment : BaseFragment() {
private fun getIFSCDetailsApi(ifscCode: String) { private fun getIFSCDetailsApi(ifscCode: String) {
stepTwoBajajFDViewModel.ifscCodeDetailsApi(
(activity as BajajFdMainActivity).viewModel.ifscCodeDetailsApi(
ifscCode, ifscCode,
activity as BajajFdMainActivity activity as BajajFdMainActivity
) )
stepTwoBajajFDViewModel.getIfscCodeDetailsCheckMutableData.observe(viewLifecycleOwner) { response ->
(activity as BajajFdMainActivity).viewModel.getIfscCodeDetailsCheckMutableData.observe(viewLifecycleOwner) { response ->
when (response) { when (response) {
is Resource.Success -> { is Resource.Success -> {
if (response.data.toString().isNotEmpty()) { if (response.data.toString().isNotEmpty()) {
Log.e("getIFSCDetailsApi ", " response -->$response")
val getIFSCCodeResponse = Gson().fromJson( val getIFSCCodeResponse = Gson().fromJson(
response.data.toString(), response.data.toString(),
GetIFSCCodeResponse::class.java GetIFSCCodeResponse::class.java
@ -875,7 +862,7 @@ class StepTwoBajajFDFragment : BaseFragment() {
} }
private fun verifyAccountNo( private fun verifyAccountNo(
bankAccount: String, Ifsc: String, name: String, phoneNumber: String, bankNo: Int
bankAccount: String, Ifsc: String, name: String, phoneNumber: String
,loginRole : Int) { ,loginRole : Int) {
val bankValidationApiRequest = BankValidationApiRequest() val bankValidationApiRequest = BankValidationApiRequest()
@ -884,15 +871,16 @@ class StepTwoBajajFDFragment : BaseFragment() {
bankValidationApiRequest.Name = name bankValidationApiRequest.Name = name
bankValidationApiRequest.PhoneNo = phoneNumber bankValidationApiRequest.PhoneNo = phoneNumber
bankValidationApiRequest.RoleId = loginRole bankValidationApiRequest.RoleId = loginRole
bankValidationApiRequest.BankNo = bankNo
stepTwoBajajFDViewModel.bankValidationApi(
bankValidationApiRequest.BankNo = 1
(activity as BajajFdMainActivity).viewModel.bankValidationApi(
bankValidationApiRequest, bankValidationApiRequest,
token, token,
activity as BajajFdMainActivity activity as BajajFdMainActivity
) )
stepTwoBajajFDViewModel.bankValidationApiMutableData.observe(viewLifecycleOwner) { response ->
(activity as BajajFdMainActivity).viewModel.bankValidationApiMutableData.observe(viewLifecycleOwner) { response ->
when (response) { when (response) {
is Resource.Success -> { is Resource.Success -> {
Log.e("verifyAccountNo ", " response -->$response")
val getBankValidationApiResponse = val getBankValidationApiResponse =
Gson().fromJson( Gson().fromJson(
response.data?.toString(), response.data?.toString(),
@ -904,7 +892,7 @@ class StepTwoBajajFDFragment : BaseFragment() {
} }
when (code) { when (code) {
200 -> { 200 -> {
if (getBankValidationApiResponse.Message == "Account Verified") {
if (getBankValidationApiResponse.Message == getString(R.string.accountVerified)) {
val clientBankList = ClientBanklist() val clientBankList = ClientBanklist()
clientBankList.AccountNumber = bankAccount clientBankList.AccountNumber = bankAccount
clientBankList.AccountType = "sb" clientBankList.AccountType = "sb"
@ -1004,7 +992,7 @@ class StepTwoBajajFDFragment : BaseFragment() {
requireActivity().windowManager.defaultDisplay.getMetrics(displayMetrics) requireActivity().windowManager.defaultDisplay.getMetrics(displayMetrics)
val width = displayMetrics.widthPixels.toDouble() val width = displayMetrics.widthPixels.toDouble()
binding.rvClientBankList.layoutManager = LinearLayoutManager( binding.rvClientBankList.layoutManager = LinearLayoutManager(
mActivity,
activity as BajajFdMainActivity,
LinearLayoutManager.HORIZONTAL, LinearLayoutManager.HORIZONTAL,
false false
) )
@ -1061,10 +1049,11 @@ class StepTwoBajajFDFragment : BaseFragment() {
(activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.sub_broker_code (activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.sub_broker_code
panCheck.panNumber = binding.edtPANNumber.text.toString() panCheck.panNumber = binding.edtPANNumber.text.toString()
panCheck.mobileNumber = "" 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) { when (response) {
is Resource.Success -> { is Resource.Success -> {
Log.e("panCheckApi ", " response -->$response")
val panCheckResponse = val panCheckResponse =
Gson().fromJson( Gson().fromJson(
response.data?.toString(), response.data?.toString(),
@ -1119,11 +1108,11 @@ class StepTwoBajajFDFragment : BaseFragment() {
getCodeRequest.Category = getString(R.string.salutationCategory) getCodeRequest.Category = getString(R.string.salutationCategory)
getCodeRequest.Language = getString(R.string.language) getCodeRequest.Language = getString(R.string.language)
getCodeRequest.InputValue = "" 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) { when (response) {
is Resource.Success -> { is Resource.Success -> {
Log.e("response", "-->$response")
Log.e("titleApi ", " response -->$response")
val getCodeResponse: GetCodeResponse = val getCodeResponse: GetCodeResponse =
Gson().fromJson(response.data?.toString(), GetCodeResponse::class.java) Gson().fromJson(response.data?.toString(), GetCodeResponse::class.java)
getCodeResponse.Response.StatusCode.let { code -> getCodeResponse.Response.StatusCode.let { code ->
@ -1202,15 +1191,15 @@ class StepTwoBajajFDFragment : BaseFragment() {
getCodeRequest.Category = getString(R.string.paymentModeCategory) getCodeRequest.Category = getString(R.string.paymentModeCategory)
getCodeRequest.Language = getString(R.string.language) getCodeRequest.Language = getString(R.string.language)
getCodeRequest.InputValue = "" getCodeRequest.InputValue = ""
stepTwoBajajFDViewModel.paymentModeApi(
(activity as BajajFdMainActivity).viewModel.paymentModeApi(
getCodeRequest, getCodeRequest,
token, token,
activity as BajajFdMainActivity activity as BajajFdMainActivity
) )
stepTwoBajajFDViewModel.getPaymentModeMutableData.observe(viewLifecycleOwner) { response ->
(activity as BajajFdMainActivity).viewModel.getPaymentModeMutableData.observe(viewLifecycleOwner) { response ->
when (response) { when (response) {
is Resource.Success -> { is Resource.Success -> {
Log.e("response", "-->$response")
Log.e("paymentModeApi ", " response -->$response")
val getCodeResponse: GetCodeResponse = val getCodeResponse: GetCodeResponse =
Gson().fromJson(response.data?.toString(), GetCodeResponse::class.java) Gson().fromJson(response.data?.toString(), GetCodeResponse::class.java)
getCodeResponse.Response.StatusCode.let { code -> getCodeResponse.Response.StatusCode.let { code ->
@ -1264,15 +1253,15 @@ class StepTwoBajajFDFragment : BaseFragment() {
getCodeRequest.Category = getString(R.string.genderCategory) getCodeRequest.Category = getString(R.string.genderCategory)
getCodeRequest.Language = getString(R.string.language) getCodeRequest.Language = getString(R.string.language)
getCodeRequest.InputValue = "" getCodeRequest.InputValue = ""
stepTwoBajajFDViewModel.genderApi(
(activity as BajajFdMainActivity).viewModel.genderApi(
getCodeRequest, getCodeRequest,
token, token,
activity as BajajFdMainActivity activity as BajajFdMainActivity
) )
stepTwoBajajFDViewModel.getGenderMutableData.observe(viewLifecycleOwner) { response ->
(activity as BajajFdMainActivity).viewModel.getGenderMutableData.observe(viewLifecycleOwner) { response ->
when (response) { when (response) {
is Resource.Success -> { is Resource.Success -> {
Log.e("response", "-->$response")
Log.e("genderApi ", " response -->$response")
val getCodeResponse: GetCodeResponse = val getCodeResponse: GetCodeResponse =
Gson().fromJson(response.data?.toString(), GetCodeResponse::class.java) Gson().fromJson(response.data?.toString(), GetCodeResponse::class.java)
getCodeResponse.Response.StatusCode.let { code -> getCodeResponse.Response.StatusCode.let { code ->
@ -1324,15 +1313,15 @@ class StepTwoBajajFDFragment : BaseFragment() {
getCodeRequest.Category = getString(R.string.relationshipCategory) getCodeRequest.Category = getString(R.string.relationshipCategory)
getCodeRequest.Language = getString(R.string.language) getCodeRequest.Language = getString(R.string.language)
getCodeRequest.InputValue = "" getCodeRequest.InputValue = ""
stepTwoBajajFDViewModel.relationShipApi(
(activity as BajajFdMainActivity).viewModel.relationShipApi(
getCodeRequest, getCodeRequest,
token, token,
activity as BajajFdMainActivity activity as BajajFdMainActivity
) )
stepTwoBajajFDViewModel.getRelationShipMutableData.observe(viewLifecycleOwner) { response ->
(activity as BajajFdMainActivity).viewModel.getRelationShipMutableData.observe(viewLifecycleOwner) { response ->
when (response) { when (response) {
is Resource.Success -> { is Resource.Success -> {
Log.e("response", "-->$response")
Log.e("relationShipApi ", " response -->$response")
val getCodeResponse: GetCodeResponse = val getCodeResponse: GetCodeResponse =
Gson().fromJson(response.data?.toString(), GetCodeResponse::class.java) Gson().fromJson(response.data?.toString(), GetCodeResponse::class.java)
getCodeResponse.Response.StatusCode.let { code -> getCodeResponse.Response.StatusCode.let { code ->
@ -1392,15 +1381,15 @@ class StepTwoBajajFDFragment : BaseFragment() {
getCodeRequest.Category = getString(R.string.maritalCategory) getCodeRequest.Category = getString(R.string.maritalCategory)
getCodeRequest.Language = getString(R.string.language) getCodeRequest.Language = getString(R.string.language)
getCodeRequest.InputValue = "" getCodeRequest.InputValue = ""
stepTwoBajajFDViewModel.maritalStatusApi(
(activity as BajajFdMainActivity).viewModel.maritalStatusApi(
getCodeRequest, getCodeRequest,
token, token,
activity as BajajFdMainActivity activity as BajajFdMainActivity
) )
stepTwoBajajFDViewModel.getMaritalStatusMutableData.observe(viewLifecycleOwner) { response ->
(activity as BajajFdMainActivity).viewModel.getMaritalStatusMutableData.observe(viewLifecycleOwner) { response ->
when (response) { when (response) {
is Resource.Success -> { is Resource.Success -> {
Log.e("response", "-->$response")
Log.e("maritalStatusApi ", " response -->$response")
val getCodeResponse: GetCodeResponse = val getCodeResponse: GetCodeResponse =
Gson().fromJson(response.data?.toString(), GetCodeResponse::class.java) Gson().fromJson(response.data?.toString(), GetCodeResponse::class.java)
getCodeResponse.Response.StatusCode.let { code -> getCodeResponse.Response.StatusCode.let { code ->
@ -1452,15 +1441,15 @@ class StepTwoBajajFDFragment : BaseFragment() {
getCodeRequest.Category = getString(R.string.occupationCategory) getCodeRequest.Category = getString(R.string.occupationCategory)
getCodeRequest.Language = getString(R.string.language) getCodeRequest.Language = getString(R.string.language)
getCodeRequest.InputValue = "" getCodeRequest.InputValue = ""
stepTwoBajajFDViewModel.occupationApi(
(activity as BajajFdMainActivity).viewModel.occupationApi(
getCodeRequest, getCodeRequest,
token, token,
activity as BajajFdMainActivity activity as BajajFdMainActivity
) )
stepTwoBajajFDViewModel.getOccupationMutableData.observe(viewLifecycleOwner) { response ->
(activity as BajajFdMainActivity).viewModel.getOccupationMutableData.observe(viewLifecycleOwner) { response ->
when (response) { when (response) {
is Resource.Success -> { is Resource.Success -> {
Log.e("response", "-->$response")
Log.e("occupationApi ", " response -->$response")
val getCodeResponse: GetCodeResponse = val getCodeResponse: GetCodeResponse =
Gson().fromJson(response.data?.toString(), GetCodeResponse::class.java) Gson().fromJson(response.data?.toString(), GetCodeResponse::class.java)
getCodeResponse.Response.StatusCode.let { code -> getCodeResponse.Response.StatusCode.let { code ->
@ -1512,15 +1501,15 @@ class StepTwoBajajFDFragment : BaseFragment() {
getCodeRequest.Category = getString(R.string.annualIncome) getCodeRequest.Category = getString(R.string.annualIncome)
getCodeRequest.Language = getString(R.string.language) getCodeRequest.Language = getString(R.string.language)
getCodeRequest.InputValue = "" getCodeRequest.InputValue = ""
stepTwoBajajFDViewModel.annualIncomeApi(
(activity as BajajFdMainActivity).viewModel.annualIncomeApi(
getCodeRequest, getCodeRequest,
token, token,
activity as BajajFdMainActivity activity as BajajFdMainActivity
) )
stepTwoBajajFDViewModel.getAnnualIncomeMutableData.observe(viewLifecycleOwner) { response ->
(activity as BajajFdMainActivity).viewModel.getAnnualIncomeMutableData.observe(viewLifecycleOwner) { response ->
when (response) { when (response) {
is Resource.Success -> { is Resource.Success -> {
Log.e("response", "-->$response")
Log.e("annualIncomeApi ", " response -->$response")
val getCodeResponse: GetCodeResponse = val getCodeResponse: GetCodeResponse =
Gson().fromJson(response.data?.toString(), GetCodeResponse::class.java) Gson().fromJson(response.data?.toString(), GetCodeResponse::class.java)
getCodeResponse.Response.StatusCode.let { code -> getCodeResponse.Response.StatusCode.let { code ->
@ -1567,11 +1556,11 @@ class StepTwoBajajFDFragment : BaseFragment() {
} }
private fun stateListApi() { 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) { when (response) {
is Resource.Success -> { is Resource.Success -> {
Log.e("response", "-->$response")
Log.e("stateListApi ", " response -->$response")
val stateListResponse: StateListResponse = val stateListResponse: StateListResponse =
Gson().fromJson( Gson().fromJson(
response.data?.toString(), response.data?.toString(),
@ -1647,18 +1636,18 @@ class StepTwoBajajFDFragment : BaseFragment() {
(activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_CODE (activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_CODE
cityRequest.RoleID = (activity as BajajFdMainActivity).loginRole cityRequest.RoleID = (activity as BajajFdMainActivity).loginRole
cityRequest.APIName = "" cityRequest.APIName = ""
cityRequest.UID = 19060
cityRequest.UID = 0
cityRequest.Subbroker_Code = cityRequest.Subbroker_Code =
(activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.sub_broker_code (activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.sub_broker_code
cityRequest.RMCode = "" cityRequest.RMCode = ""
cityRequest.HOCode = "" cityRequest.HOCode = ""
cityRequest.Source = getString(R.string.source) cityRequest.Source = getString(R.string.source)
cityRequest.APP_Web = getString(R.string.app) 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) { when (response) {
is Resource.Success -> { is Resource.Success -> {
Log.e("response", "-->$response")
Log.e("cityListApi ", " response -->$response")
val cityListResponse: CityListResponse = val cityListResponse: CityListResponse =
Gson().fromJson(response.data?.toString(), CityListResponse::class.java) Gson().fromJson(response.data?.toString(), CityListResponse::class.java)
cityListResponse.response.status_code.let { code -> cityListResponse.response.status_code.let { code ->
@ -1717,11 +1706,11 @@ class StepTwoBajajFDFragment : BaseFragment() {
} }
private fun apiForEligibleBankList() { 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) { when (response) {
is Resource.Success -> { is Resource.Success -> {
Log.e("response", "-->$response")
Log.e("apiForEligibleBankList ", " response -->$response")
val getFDBankListResponse: GetFDBankListResponse = val getFDBankListResponse: GetFDBankListResponse =
Gson().fromJson( Gson().fromJson(
response.data?.toString(), 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 androidx.lifecycle.ViewModelProvider
import com.nivesh.production.bajajfd.repositories.MainRepository import com.nivesh.production.bajajfd.repositories.MainRepository
import com.nivesh.production.bajajfd.viewModel.BajajFDViewModel import com.nivesh.production.bajajfd.viewModel.BajajFDViewModel
import com.nivesh.production.bajajfd.viewModel.StepOneBajajFDViewModel
class FDModelProviderFactory (private val mainRepository: MainRepository) : ViewModelProvider.Factory { 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.ConnectivityManager
import android.net.NetworkCapabilities import android.net.NetworkCapabilities
import android.os.Build import android.os.Build
import android.provider.ContactsContract
import android.text.format.DateFormat import android.text.format.DateFormat
import android.util.Log import android.util.Log
import android.util.Patterns import android.util.Patterns
@ -60,7 +59,7 @@ class Common {
connectivityManager.activeNetworkInfo?.run { connectivityManager.activeNetworkInfo?.run {
return when (type) { return when (type) {
ConnectivityManager.TYPE_WIFI -> true ConnectivityManager.TYPE_WIFI -> true
ContactsContract.CommonDataKinds.Phone.TYPE_MOBILE -> true
ConnectivityManager.TYPE_MOBILE -> true
ConnectivityManager.TYPE_ETHERNET -> true ConnectivityManager.TYPE_ETHERNET -> true
else -> false else -> false
} }
@ -83,7 +82,7 @@ class Common {
//validPanCard //validPanCard
fun isValidPan(pan: String?): Boolean { 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()) val mMatcher = mPattern.matcher(pan.toString())
return mMatcher.matches() return mMatcher.matches()
} }
@ -190,7 +189,7 @@ class Common {
return simpleDateFormat.format(mDate as Date) return simpleDateFormat.format(mDate as Date)
} }
fun handleResponse(response: retrofit2.Response<JsonObject>): Resource<JsonObject> {
fun handleResponse(response: Response<JsonObject>): Resource<JsonObject> {
// try { // try {
if (response.isSuccessful && response.body() != null) { if (response.isSuccessful && response.body() != null) {
response.body()?.let { resultResponse -> response.body()?.let { resultResponse ->
@ -211,15 +210,15 @@ class Common {
fun handleResponse1(response: Response<String>): Resource<String> { fun handleResponse1(response: Response<String>): Resource<String> {
if (response.isSuccessful && response.body() != null) { if (response.isSuccessful && response.body() != null) {
if (response.body().toString().isNotEmpty()) {
return if (response.body().toString().isNotEmpty()) {
Log.e("response", "-->$response") Log.e("response", "-->$response")
val str: String = response.body().toString().replace("\r\n", "") val str: String = response.body().toString().replace("\r\n", "")
Log.e("str", "-->$str") Log.e("str", "-->$str")
val jsonObject = JSONObject(str) val jsonObject = JSONObject(str)
Log.e("jsonObject", "-->$jsonObject") Log.e("jsonObject", "-->$jsonObject")
return Resource.Success(jsonObject.toString())
Resource.Success(jsonObject.toString())
}else { }else {
return Resource.Error(response.message())
Resource.Error(response.message())
} }
} }
return Resource.Error(response.message()) return Resource.Error(response.message())
@ -244,8 +243,8 @@ class Common {
} }
fun isMinor(date: String): Boolean { 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 year: Int = DateFormat.format("yyyy", dt1).toString().toInt()
val month: Int = DateFormat.format("mm", dt1).toString().toInt() val month: Int = DateFormat.format("mm", dt1).toString().toInt()
val day = DateFormat.format("dd", dt1).toString().toInt() val day = DateFormat.format("dd", dt1).toString().toInt()
@ -255,7 +254,7 @@ class Common {
return minAdultAge.before(userAge) 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 { fun getFileSizeInMB(length: Long): Double {
// Get length of file in bytes // Get length of file in bytes
val fileSizeInBytes = length.toDouble() 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 Success<T>(data: T) : Resource<T>(data)
class Error<T>(message: String, data: T? = null) : Resource<T>(data, message) class Error<T>(message: String, data: T? = null) : Resource<T>(data, message)
class Loading<T> : Resource<T>() 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) 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.google.gson.JsonObject
import com.nivesh.production.bajajfd.model.* import com.nivesh.production.bajajfd.model.*
import com.nivesh.production.bajajfd.repositories.MainRepository import com.nivesh.production.bajajfd.repositories.MainRepository
import com.nivesh.production.bajajfd.ui.activity.BajajFdMainActivity
import com.nivesh.production.bajajfd.util.Common import com.nivesh.production.bajajfd.util.Common
import com.nivesh.production.bajajfd.util.Common.Companion.handleError import com.nivesh.production.bajajfd.util.Common.Companion.handleError
import com.nivesh.production.bajajfd.util.Common.Companion.handleResponse 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 com.nivesh.production.bajajfd.util.Resource
import kotlinx.coroutines.launch 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() val getStepsCountMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
fun getStepsCount( fun getStepsCount(
@ -50,7 +49,6 @@ class BajajFDViewModel(private val mainRepository: MainRepository) : ViewModel()
} }
} }
val getPaymentReQueryMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData() val getPaymentReQueryMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
fun getPaymentReQuery(requestBody: PaymentReQueryRequest, token : String, activity: Activity) = viewModelScope.launch(handleError(activity)) { fun getPaymentReQuery(requestBody: PaymentReQueryRequest, token : String, activity: Activity) = viewModelScope.launch(handleError(activity)) {
if (Common.isNetworkAvailable(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:inputType="number"
android:maxLength="12" android:maxLength="12"
android:textColorHint="@color/greyColor2" 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> </com.google.android.material.textfield.TextInputLayout>


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

@ -1,5 +1,5 @@
<resources> <resources>
<string name="appName">BajajFdLib</string>
<string name="appName">NiveshSDK</string>
<string name="bajaj">Bajaj</string> <string name="bajaj">Bajaj</string>
<string name="app">App</string> <string name="app">App</string>
<string name="source">nivesh</string> <string name="source">nivesh</string>
@ -140,6 +140,7 @@
<string name="emptyPAN">Please enter PAN number</string> <string name="emptyPAN">Please enter PAN number</string>
<string name="invalidPAN">Invalid PAN</string> <string name="invalidPAN">Invalid PAN</string>
<string name="accountVerified">Account Verified</string>
<string name="emptyTitle">Please select title</string> <string name="emptyTitle">Please select title</string>
@ -198,7 +199,16 @@
<string name="selectOption">Select Option</string> <string name="selectOption">Select Option</string>
<string name="gallery">Gallery</string> <string name="gallery">Gallery</string>
<string name="camera">Camera</string> <string name="camera">Camera</string>
<string name="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 --> <!-- Step Four -->
<string name="makePayment">Make Payment</string> <string name="makePayment">Make Payment</string>
@ -238,13 +248,6 @@
<string name="add_new_account">Add New Account</string> <string name="add_new_account">Add New Account</string>
<string name="Ok"><font fgcolor='#FF8E8E93'>OK</font></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> </resources>

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

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


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

@ -1,5 +1,5 @@
<resources> <resources>
<string name="appName">BajajFdLib</string>
<string name="appName">NiveshSDK</string>
<string name="bajaj">Bajaj</string> <string name="bajaj">Bajaj</string>
<string name="app">App</string> <string name="app">App</string>
<string name="source">nivesh</string> <string name="source">nivesh</string>
@ -140,6 +140,7 @@
<string name="emptyPAN">Please enter PAN number</string> <string name="emptyPAN">Please enter PAN number</string>
<string name="invalidPAN">Invalid PAN</string> <string name="invalidPAN">Invalid PAN</string>
<string name="accountVerified">Account Verified</string>
<string name="emptyTitle">Please select title</string> <string name="emptyTitle">Please select title</string>
@ -199,7 +200,15 @@
<string name="gallery">Gallery</string> <string name="gallery">Gallery</string>
<string name="camera">Camera</string> <string name="camera">Camera</string>
<string name="panLabel">PAN</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 --> <!-- Step Four -->
<string name="makePayment">Make Payment</string> <string name="makePayment">Make Payment</string>
@ -239,12 +248,6 @@
<string name="add_new_account">Add New Account</string> <string name="add_new_account">Add New Account</string>
<string name="Ok"><font fgcolor='#FF8E8E93'>OK</font></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> </resources>

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

@ -1,6 +1,6 @@
<resources> <resources>
<!-- Base application theme. --> <!-- Base application theme. -->
<style name="Theme.BajajFdLib" parent="Theme.MaterialComponents.DayNight.NoActionBar">
<style name="Theme.NiveshSDK" parent="Theme.MaterialComponents.DayNight.NoActionBar">
<!-- Primary brand color. --> <!-- Primary brand color. -->
<item name="colorPrimary">#898989</item> <item name="colorPrimary">#898989</item>
<item name="colorPrimaryVariant">@color/colorPrimary</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> <data-extraction-rules>
<cloud-backup> <cloud-backup>
<!-- TODO: Use <include> and <exclude> to control what is backed up.
<include .../>
<exclude .../>
-->
</cloud-backup> </cloud-backup>
<!--
<device-transfer>
<include .../>
<exclude .../>
</device-transfer>
-->
</data-extraction-rules> </data-extraction-rules>

+ 1
- 1
settings.gradle View File

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

Loading…
Cancel
Save

Powered by TurnKey Linux.