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
import android.content.Context
import androidx.fragment.app.Fragment
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 {
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.util.Log
import androidx.appcompat.app.AppCompatActivity
import androidx.fragment.app.Fragment
import androidx.lifecycle.ViewModelProvider
import androidx.viewpager.widget.ViewPager
import com.google.gson.Gson
import com.nivesh.production.bajajfd.R
import com.nivesh.production.bajajfd.adapter.SectionsPagerAdapter
import com.nivesh.production.bajajfd.api.ApiClient
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.viewModel.*
class BajajFdMainActivity : AppCompatActivity(), BajajFDInterface {
lateinit var binding: ActivityBajajFdBinding
private lateinit var viewModel: BajajFDViewModel
@ -46,6 +47,8 @@ class BajajFdMainActivity : AppCompatActivity(), BajajFDInterface {
var getClientDetailsResponse: getClientDetailsResponse
private var stepCount: Int = 0
lateinit var sectionsPagerAdapter : SectionsPagerAdapter
lateinit var fragments: Array<Fragment>
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
@ -107,7 +110,7 @@ class BajajFdMainActivity : AppCompatActivity(), BajajFDInterface {
private fun getStepsCountApi() {
val fdStepsCount = FDStepsCountRequest()
fdStepsCount.FDProvider = getString(R.string.bajaj)
fdStepsCount.FDProvider = getString(com.nivesh.production.bajajfd.R.string.bajaj)
fdStepsCount.NiveshClientCode = "8872"
viewModel.getStepsCount(fdStepsCount, token)
viewModel.getStepsCountMutableData.observe(this) { response ->
@ -155,20 +158,20 @@ class BajajFdMainActivity : AppCompatActivity(), BajajFDInterface {
if (Common.isNetworkAvailable(this@BajajFdMainActivity)) {
val getClientDetailsRequest = getClientDetailsRequest()
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"
val userRequest = UserRequest()
userRequest.UID = 19060
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
val deviceInfo = DeviceInfo()
deviceInfo.device_id = ""
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_token = ""
deviceInfo.device_name = ""
@ -219,17 +222,28 @@ class BajajFdMainActivity : AppCompatActivity(), BajajFDInterface {
// steps setting
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
val sectionsPagerAdapter =
SectionsPagerAdapter(this@BajajFdMainActivity, supportFragmentManager)
sectionsPagerAdapter =
SectionsPagerAdapter(supportFragmentManager, fragments, stepsCount)
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.addOnPageChangeListener(object : ViewPager.OnPageChangeListener {
@ -306,7 +320,7 @@ class BajajFdMainActivity : AppCompatActivity(), BajajFDInterface {
getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_PAN
checkFDKYCRequest.NiveshClientCode =
getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_CODE.toString()
stepOneBajajFDViewModel.checkFDKYC( checkFDKYCRequest, token)
stepOneBajajFDViewModel.checkFDKYC(checkFDKYCRequest, token)
stepOneBajajFDViewModel.getFDKYCMutableData.observe(this) { response ->
when (response) {
is Resource.Success -> {
@ -411,8 +425,10 @@ class BajajFdMainActivity : AppCompatActivity(), BajajFDInterface {
when (code) {
200 -> {
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()
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
import android.app.Activity
import android.content.Context
import android.os.Bundle
import android.util.Log
import android.view.LayoutInflater
@ -41,7 +43,6 @@ class StepFourBajajFDFragment : Fragment() {
bajajFDInterface = bajajFDInterfaces
}
override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?
@ -69,15 +70,15 @@ class StepFourBajajFDFragment : Fragment() {
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() {
if (Common.isNetworkAvailable(activity as BajajFdMainActivity)) {
val getCodeRequest = GetCodeRequest()
@ -85,8 +86,8 @@ class StepFourBajajFDFragment : Fragment() {
getCodeRequest.Category = getString(R.string.customerCategory)
getCodeRequest.Language = getString(R.string.language)
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) {
is Resource.Success -> {
Log.e("response", "-->$response")
@ -131,7 +132,7 @@ class StepFourBajajFDFragment : Fragment() {
private fun getFDDetailsApi(uniqueId: String) {
if (Common.isNetworkAvailable(activity as BajajFdMainActivity)) {
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.UniqueId = uniqueId
stepFourBajajFDViewModel.getFDDetails(getFDDetailsRequest, Constants.token)
@ -172,7 +173,6 @@ class StepFourBajajFDFragment : Fragment() {
}
}
}
}
}


Loading…
Cancel
Save

Powered by TurnKey Linux.