Browse Source

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

# Conflicts:
#	app/src/main/java/com/nivesh/production/bajajfd/ui/activity/BajajFdMainActivity.kt
PankajBranch
pankaj 2 years ago
parent
commit
c7c86adc1a
6 changed files with 91 additions and 82 deletions
  1. +12
    -0
      app/src/main/java/com/nivesh/production/bajajfd/BajajApplication.kt
  2. +6
    -17
      app/src/main/java/com/nivesh/production/bajajfd/adapter/SectionsPagerAdapter.kt
  3. +29
    -0
      app/src/main/java/com/nivesh/production/bajajfd/adapter/SmartFragmentStatePagerAdapter.kt
  4. +3
    -1
      app/src/main/java/com/nivesh/production/bajajfd/interfaces/SendData.kt
  5. +30
    -36
      app/src/main/java/com/nivesh/production/bajajfd/ui/activity/BajajFdMainActivity.kt
  6. +11
    -28
      app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepFourBajajFDFragment.kt

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

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

+ 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]
}
}

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

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

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

@ -1,8 +1,10 @@
package com.nivesh.production.bajajfd.ui.activity package com.nivesh.production.bajajfd.ui.activity
import android.graphics.drawable.Drawable import android.graphics.drawable.Drawable
import android.os.Bundle import android.os.Bundle
import android.util.Log import android.util.Log
import androidx.appcompat.app.AppCompatActivity import androidx.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
@ -10,7 +12,6 @@ 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
import com.nivesh.production.bajajfd.interfaces.BajajFDInterface import com.nivesh.production.bajajfd.interfaces.BajajFDInterface
import com.nivesh.production.bajajfd.interfaces.SendData
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.fragment.* import com.nivesh.production.bajajfd.ui.fragment.*
@ -25,7 +26,7 @@ import com.nivesh.production.bajajfd.util.Resource
import com.nivesh.production.bajajfd.viewModel.* import com.nivesh.production.bajajfd.viewModel.*
class BajajFdMainActivity : AppCompatActivity(), BajajFDInterface ,SendData{
class BajajFdMainActivity : AppCompatActivity(), BajajFDInterface {
lateinit var binding: ActivityBajajFdBinding lateinit var binding: ActivityBajajFdBinding
private lateinit var viewModel: BajajFDViewModel private lateinit var viewModel: BajajFDViewModel
@ -46,8 +47,8 @@ class BajajFdMainActivity : AppCompatActivity(), BajajFDInterface ,SendData{
var getClientDetailsResponse: getClientDetailsResponse var getClientDetailsResponse: getClientDetailsResponse
private var stepCount: Int = 0 private var stepCount: Int = 0
private lateinit var sectionsPagerAdapter : SectionsPagerAdapter
private lateinit var fragments: Array<Fragment>
override fun onCreate(savedInstanceState: Bundle?) { override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState) super.onCreate(savedInstanceState)
@ -221,17 +222,28 @@ class BajajFdMainActivity : AppCompatActivity(), BajajFDInterface ,SendData{
// 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 {
@ -308,7 +320,7 @@ class BajajFdMainActivity : AppCompatActivity(), BajajFDInterface ,SendData{
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 -> {
@ -413,14 +425,11 @@ class BajajFdMainActivity : AppCompatActivity(), BajajFDInterface ,SendData{
when (code) { when (code) {
200 -> { 200 -> {
binding.viewPager.currentItem = currentItem binding.viewPager.currentItem = currentItem
StepFourBajajFDFragment.getInstance(this)
.getFDData(createFDApplicationResponse ,this)
sendDataFragment("yaha data dalo")
StepFourBajajFDFragment.getInstance(this).displayReceivedData(createFDApplicationResponse)
val stepFourFDFragment: StepFourBajajFDFragment =
sectionsPagerAdapter.getRegisteredFragment(stepCount - 1) as StepFourBajajFDFragment
stepFourFDFragment.displayReceivedData(createFDApplicationResponse)
} }
// 650 -> refreshToken() // 650 -> refreshToken()
else -> { else -> {
showDialogValidation( showDialogValidation(
@ -442,21 +451,6 @@ class BajajFdMainActivity : AppCompatActivity(), BajajFDInterface ,SendData{
} }
} }
} }
}
}
override fun sendDataFragment(message: String?) {
val tag = "android:switcher:" + com.nivesh.production.bajajfd.R.id.viewPager.toString() + ":" + 1
val f: StepFourBajajFDFragment? = supportFragmentManager.findFragmentByTag(tag) as StepFourBajajFDFragment?
if (f != null) {
if (message != null) {
f.displayReceivedData(message)
}
} }
} }
} }

+ 11
- 28
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?
@ -70,30 +71,14 @@ class StepFourBajajFDFragment : Fragment() {
} }
fun getFDData(
createFDApplicationResponse: CreateFDApplicationResponse,
activity: BajajFdMainActivity
)
{
uniqueId = createFDApplicationResponse.Response.FDCreationDetailsResponse.UniqueId
//
getFDDetailsApi(createFDApplicationResponse.Response.FDCreationDetailsResponse.UniqueId, activity)
customerListApi()
}
fun displayReceivedData(message: String) {
Log.d("received data","Data received : $message")
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()
@ -144,12 +129,11 @@ class StepFourBajajFDFragment : Fragment() {
} }
private fun getFDDetailsApi(uniqueId: String, activity: BajajFdMainActivity) {
if (Common.isNetworkAvailable(activity)) {
private fun getFDDetailsApi(uniqueId: String) {
if (Common.isNetworkAvailable(requireActivity())) {
val getFDDetailsRequest = GetFDDetailsRequest() val getFDDetailsRequest = GetFDDetailsRequest()
getFDDetailsRequest.FDProvider = activity.resources.getString(R.string.bajaj)
getFDDetailsRequest.NiveshClientCode =
activity.getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_CODE
getFDDetailsRequest.FDProvider = requireActivity().getString(R.string.bajaj)
getFDDetailsRequest.NiveshClientCode = (requireContext().applicationContext as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_CODE
getFDDetailsRequest.UniqueId = uniqueId getFDDetailsRequest.UniqueId = uniqueId
stepFourBajajFDViewModel.getFDDetails(getFDDetailsRequest, Constants.token) stepFourBajajFDViewModel.getFDDetails(getFDDetailsRequest, Constants.token)
stepFourBajajFDViewModel.getFDDetailsMutableData.observe(viewLifecycleOwner) { response -> stepFourBajajFDViewModel.getFDDetailsMutableData.observe(viewLifecycleOwner) { response ->
@ -189,7 +173,6 @@ class StepFourBajajFDFragment : Fragment() {
} }
} }
} }
} }
} }


Loading…
Cancel
Save

Powered by TurnKey Linux.