Browse Source

changes

PankajBranch
Hemant Khadase 2 years ago
parent
commit
c5252cc412
5 changed files with 89 additions and 51 deletions
  1. +6
    -17
      app/src/main/java/com/nivesh/production/bajajfd/adapter/SectionsPagerAdapter.kt
  2. +29
    -0
      app/src/main/java/com/nivesh/production/bajajfd/adapter/SmartFragmentStatePagerAdapter.kt
  3. +8
    -0
      app/src/main/java/com/nivesh/production/bajajfd/interfaces/SendData.kt
  4. +34
    -22
      app/src/main/java/com/nivesh/production/bajajfd/ui/activity/BajajFdMainActivity.kt
  5. +12
    -12
      app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepFourBajajFDFragment.kt

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

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

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

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

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

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

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

@ -4,10 +4,10 @@ import android.graphics.drawable.Drawable
import android.os.Bundle import android.os.Bundle
import android.util.Log import android.util.Log
import androidx.appcompat.app.AppCompatActivity import androidx.appcompat.app.AppCompatActivity
import androidx.fragment.app.Fragment
import androidx.lifecycle.ViewModelProvider import androidx.lifecycle.ViewModelProvider
import androidx.viewpager.widget.ViewPager import androidx.viewpager.widget.ViewPager
import com.google.gson.Gson import com.google.gson.Gson
import com.nivesh.production.bajajfd.R
import com.nivesh.production.bajajfd.adapter.SectionsPagerAdapter import com.nivesh.production.bajajfd.adapter.SectionsPagerAdapter
import com.nivesh.production.bajajfd.api.ApiClient import com.nivesh.production.bajajfd.api.ApiClient
import com.nivesh.production.bajajfd.databinding.ActivityBajajFdBinding import com.nivesh.production.bajajfd.databinding.ActivityBajajFdBinding
@ -25,6 +25,7 @@ import com.nivesh.production.bajajfd.util.Constants.Companion.token
import com.nivesh.production.bajajfd.util.Resource import com.nivesh.production.bajajfd.util.Resource
import com.nivesh.production.bajajfd.viewModel.* import com.nivesh.production.bajajfd.viewModel.*
class BajajFdMainActivity : AppCompatActivity(), BajajFDInterface { class BajajFdMainActivity : AppCompatActivity(), BajajFDInterface {
lateinit var binding: ActivityBajajFdBinding lateinit var binding: ActivityBajajFdBinding
private lateinit var viewModel: BajajFDViewModel private lateinit var viewModel: BajajFDViewModel
@ -46,6 +47,8 @@ class BajajFdMainActivity : AppCompatActivity(), BajajFDInterface {
var getClientDetailsResponse: getClientDetailsResponse var getClientDetailsResponse: getClientDetailsResponse
private var stepCount: Int = 0 private var stepCount: Int = 0
lateinit var sectionsPagerAdapter : SectionsPagerAdapter
lateinit var fragments: Array<Fragment>
override fun onCreate(savedInstanceState: Bundle?) { override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState) super.onCreate(savedInstanceState)
@ -107,7 +110,7 @@ class BajajFdMainActivity : AppCompatActivity(), BajajFDInterface {
private fun getStepsCountApi() { private fun getStepsCountApi() {
val fdStepsCount = FDStepsCountRequest() val fdStepsCount = FDStepsCountRequest()
fdStepsCount.FDProvider = getString(R.string.bajaj)
fdStepsCount.FDProvider = getString(com.nivesh.production.bajajfd.R.string.bajaj)
fdStepsCount.NiveshClientCode = "8872" fdStepsCount.NiveshClientCode = "8872"
viewModel.getStepsCount(fdStepsCount, token) viewModel.getStepsCount(fdStepsCount, token)
viewModel.getStepsCountMutableData.observe(this) { response -> viewModel.getStepsCountMutableData.observe(this) { response ->
@ -155,20 +158,20 @@ class BajajFdMainActivity : AppCompatActivity(), BajajFDInterface {
if (Common.isNetworkAvailable(this@BajajFdMainActivity)) { if (Common.isNetworkAvailable(this@BajajFdMainActivity)) {
val getClientDetailsRequest = getClientDetailsRequest() val getClientDetailsRequest = getClientDetailsRequest()
getClientDetailsRequest.client_code = "8872" getClientDetailsRequest.client_code = "8872"
getClientDetailsRequest.AppOrWeb = getString(R.string.app)
getClientDetailsRequest.AppOrWeb = getString(com.nivesh.production.bajajfd.R.string.app)
getClientDetailsRequest.sub_broker_code = "1038" getClientDetailsRequest.sub_broker_code = "1038"
val userRequest = UserRequest() val userRequest = UserRequest()
userRequest.UID = 19060 userRequest.UID = 19060
userRequest.IPAddress = "" userRequest.IPAddress = ""
userRequest.Source = getString(R.string.source)
userRequest.AppOrWeb = getString(R.string.app)
userRequest.Source = getString(com.nivesh.production.bajajfd.R.string.source)
userRequest.AppOrWeb = getString(com.nivesh.production.bajajfd.R.string.app)
userRequest.LoggedInRoleId = 5 userRequest.LoggedInRoleId = 5
val deviceInfo = DeviceInfo() val deviceInfo = DeviceInfo()
deviceInfo.device_id = "" deviceInfo.device_id = ""
deviceInfo.device_id_for_UMSId = "" deviceInfo.device_id_for_UMSId = ""
deviceInfo.device_type = getString(R.string.app)
deviceInfo.device_type = getString(com.nivesh.production.bajajfd.R.string.app)
deviceInfo.device_model = "" deviceInfo.device_model = ""
deviceInfo.device_token = "" deviceInfo.device_token = ""
deviceInfo.device_name = "" deviceInfo.device_name = ""
@ -219,17 +222,28 @@ class BajajFdMainActivity : AppCompatActivity(), BajajFDInterface {
// steps setting // steps setting
setBackground(selectedShape(), defaultShape(), defaultShape(), defaultShape()) setBackground(selectedShape(), defaultShape(), defaultShape(), defaultShape())
if (stepCount == 3) {
fragments = arrayOf(
StepOneBajajFDFragment.getInstance(this),
StepTwoBajajFDFragment.getInstance(this),
StepFourBajajFDFragment.getInstance(this),
StepFiveBajajFDFragment.getInstance(this)
)
} else if (stepCount == 4) {
fragments = arrayOf(
StepOneBajajFDFragment.getInstance(this),
StepTwoBajajFDFragment.getInstance(this),
StepThreeBajajFDFragment.getInstance(this),
StepFourBajajFDFragment.getInstance(this),
StepFiveBajajFDFragment.getInstance(this)
)
}
// set viewPager // set viewPager
val sectionsPagerAdapter =
SectionsPagerAdapter(this@BajajFdMainActivity, supportFragmentManager)
sectionsPagerAdapter =
SectionsPagerAdapter(supportFragmentManager, fragments, stepsCount)
val viewPager: ViewPager = binding.viewPager val viewPager: ViewPager = binding.viewPager
sectionsPagerAdapter.addFragment(StepOneBajajFDFragment.getInstance(this@BajajFdMainActivity))
sectionsPagerAdapter.addFragment(StepTwoBajajFDFragment.getInstance(this@BajajFdMainActivity))
if (stepsCount == 4) {
sectionsPagerAdapter.addFragment(StepThreeBajajFDFragment.getInstance(this@BajajFdMainActivity))
}
sectionsPagerAdapter.addFragment(StepFourBajajFDFragment.getInstance(this@BajajFdMainActivity))
sectionsPagerAdapter.addFragment(StepFiveBajajFDFragment.getInstance(this@BajajFdMainActivity))
viewPager.adapter = sectionsPagerAdapter viewPager.adapter = sectionsPagerAdapter
viewPager.addOnPageChangeListener(object : ViewPager.OnPageChangeListener { viewPager.addOnPageChangeListener(object : ViewPager.OnPageChangeListener {
@ -306,7 +320,7 @@ class BajajFdMainActivity : AppCompatActivity(), BajajFDInterface {
getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_PAN getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_PAN
checkFDKYCRequest.NiveshClientCode = checkFDKYCRequest.NiveshClientCode =
getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_CODE.toString() getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_CODE.toString()
stepOneBajajFDViewModel.checkFDKYC( checkFDKYCRequest, token)
stepOneBajajFDViewModel.checkFDKYC(checkFDKYCRequest, token)
stepOneBajajFDViewModel.getFDKYCMutableData.observe(this) { response -> stepOneBajajFDViewModel.getFDKYCMutableData.observe(this) { response ->
when (response) { when (response) {
is Resource.Success -> { is Resource.Success -> {
@ -411,8 +425,10 @@ class BajajFdMainActivity : AppCompatActivity(), BajajFDInterface {
when (code) { when (code) {
200 -> { 200 -> {
binding.viewPager.currentItem = currentItem binding.viewPager.currentItem = currentItem
StepFourBajajFDFragment.getInstance(this)
.getFDData(createFDApplicationResponse ,this)
StepFourBajajFDFragment.getInstance(this).displayReceivedData(createFDApplicationResponse)
val stepFourFDFragment: StepFourBajajFDFragment =
sectionsPagerAdapter.getRegisteredFragment(stepCount - 1) as StepFourBajajFDFragment
stepFourFDFragment.displayReceivedData(createFDApplicationResponse)
} }
// 650 -> refreshToken() // 650 -> refreshToken()
else -> { else -> {
@ -435,10 +451,6 @@ class BajajFdMainActivity : AppCompatActivity(), BajajFDInterface {
} }
} }
} }
} }
} }
} }

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

@ -1,5 +1,7 @@
package com.nivesh.production.bajajfd.ui.fragment package com.nivesh.production.bajajfd.ui.fragment
import android.app.Activity
import android.content.Context
import android.os.Bundle import android.os.Bundle
import android.util.Log import android.util.Log
import android.view.LayoutInflater import android.view.LayoutInflater
@ -41,7 +43,6 @@ class StepFourBajajFDFragment : Fragment() {
bajajFDInterface = bajajFDInterfaces bajajFDInterface = bajajFDInterfaces
} }
override fun onCreateView( override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?, inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle? savedInstanceState: Bundle?
@ -69,15 +70,15 @@ class StepFourBajajFDFragment : Fragment() {
return root return root
} }
fun getFDData(
createFDApplicationResponse: CreateFDApplicationResponse
) {
this.uniqueId = createFDApplicationResponse.Response.FDCreationDetailsResponse.UniqueId
//
getFDDetailsApi(createFDApplicationResponse.Response.FDCreationDetailsResponse.UniqueId)
customerListApi()
fun displayReceivedData(createFDApplicationResponse: CreateFDApplicationResponse) {
Log.e("createFDApplication", "Response-->"+createFDApplicationResponse.Response.FDCreationDetailsResponse.UniqueId)
uniqueId = createFDApplicationResponse.Response.FDCreationDetailsResponse.UniqueId
getFDDetailsApi(createFDApplicationResponse.Response.FDCreationDetailsResponse.UniqueId)
customerListApi()
} }
private fun customerListApi() { private fun customerListApi() {
if (Common.isNetworkAvailable(activity as BajajFdMainActivity)) { if (Common.isNetworkAvailable(activity as BajajFdMainActivity)) {
val getCodeRequest = GetCodeRequest() val getCodeRequest = GetCodeRequest()
@ -85,8 +86,8 @@ class StepFourBajajFDFragment : Fragment() {
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 = ""
this.stepFourBajajFDViewModel.paymentModeApi(getCodeRequest, Constants.token)
this.stepFourBajajFDViewModel.getPaymentModeMutableData.observe(viewLifecycleOwner) { response ->
stepFourBajajFDViewModel.paymentModeApi(getCodeRequest, Constants.token)
stepFourBajajFDViewModel.getPaymentModeMutableData.observe(viewLifecycleOwner) { response ->
when (response) { when (response) {
is Resource.Success -> { is Resource.Success -> {
Log.e("response", "-->$response") Log.e("response", "-->$response")
@ -131,7 +132,7 @@ class StepFourBajajFDFragment : Fragment() {
private fun getFDDetailsApi(uniqueId: String) { private fun getFDDetailsApi(uniqueId: String) {
if (Common.isNetworkAvailable(activity as BajajFdMainActivity)) { if (Common.isNetworkAvailable(activity as BajajFdMainActivity)) {
val getFDDetailsRequest = GetFDDetailsRequest() val getFDDetailsRequest = GetFDDetailsRequest()
getFDDetailsRequest.FDProvider = resources.getString(R.string.bajaj)
getFDDetailsRequest.FDProvider = getString(R.string.bajaj)
getFDDetailsRequest.NiveshClientCode = (activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_CODE getFDDetailsRequest.NiveshClientCode = (activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_CODE
getFDDetailsRequest.UniqueId = uniqueId getFDDetailsRequest.UniqueId = uniqueId
stepFourBajajFDViewModel.getFDDetails(getFDDetailsRequest, Constants.token) stepFourBajajFDViewModel.getFDDetails(getFDDetailsRequest, Constants.token)
@ -172,7 +173,6 @@ class StepFourBajajFDFragment : Fragment() {
} }
} }
} }
} }
} }


Loading…
Cancel
Save

Powered by TurnKey Linux.