Browse Source

v

PankajBranch
pankaj 2 years ago
parent
commit
a4780f71f1
16 changed files with 144 additions and 69 deletions
  1. +9
    -13
      app/src/main/java/com/nivesh/production/bajajfd/adapter/CustomerListAdapter.kt
  2. +2
    -1
      app/src/main/java/com/nivesh/production/bajajfd/interfaces/BajajFDInterface.kt
  3. +8
    -0
      app/src/main/java/com/nivesh/production/bajajfd/model/SaveFDOtherDataRequest.kt
  4. +19
    -13
      app/src/main/java/com/nivesh/production/bajajfd/ui/activity/BajajFdMainActivity.kt
  5. +13
    -0
      app/src/main/java/com/nivesh/production/bajajfd/ui/activity/BaseActivity.kt
  6. +21
    -0
      app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/BaseFragment.kt
  7. +31
    -15
      app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepFourBajajFDFragment.kt
  8. +1
    -1
      app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepOneBajajFDFragment.kt
  9. +12
    -3
      app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepThreeBajajFDFragment.kt
  10. +1
    -1
      app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepTwoBajajFDFragment.kt
  11. +2
    -1
      app/src/main/java/com/nivesh/production/bajajfd/util/Common.kt
  12. +1
    -0
      app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepThreeBajajFDViewModel.kt
  13. +3
    -3
      app/src/main/res/layout/fragment_bajajfd_step_four.xml
  14. +19
    -18
      app/src/main/res/layout/item_customer_list_preview.xml
  15. +1
    -0
      app/src/main/res/values-hi-rIN/strings.xml
  16. +1
    -0
      app/src/main/res/values/strings.xml

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

@ -3,18 +3,16 @@ package com.nivesh.production.bajajfd.adapter
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.ImageView
import android.widget.TextView
import androidx.recyclerview.widget.RecyclerView
import com.google.android.material.switchmaterial.SwitchMaterial
import com.nivesh.production.bajajfd.R
import com.nivesh.production.bajajfd.model.GetCodes
class CustomerListAdapter(
private val bankList: List<GetCodes>?
private val customerList: List<GetCodes>?
) : RecyclerView.Adapter<CustomerListAdapter.BankListViewHolder>() {
inner class BankListViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
val bankSelector: ImageView = itemView.findViewById(R.id.bankSelector)
val tvBankName: TextView = itemView.findViewById(R.id.tvBankName)
val tvCustomerName: SwitchMaterial = itemView.findViewById(R.id.tvCustomerName)
}
private var checkedPosition: Int = -2
@ -34,15 +32,13 @@ class CustomerListAdapter(
}
override fun onBindViewHolder(holder: BankListViewHolder, position: Int) {
val bankList = bankList?.get(position)
if (bankList != null) {
val cList = customerList?.get(position)
if (cList != null) {
holder.itemView.apply {
holder.tvBankName.text = bankList.Value
holder.tvCustomerName.text = cList.Label
setOnClickListener {
onItemClickListener?.let {
it(bankList)
holder.bankSelector.setBackgroundResource(R.drawable.ic_select_green)
it(cList)
if (checkedPosition != holder.adapterPosition) {
notifyItemChanged(checkedPosition)
checkedPosition = holder.adapterPosition
@ -55,7 +51,7 @@ class CustomerListAdapter(
}
override fun getItemCount(): Int {
return bankList?.size!!
return customerList?.size!!
}
private var onItemClickListener: ((GetCodes) -> Unit)? = null
@ -67,7 +63,7 @@ class CustomerListAdapter(
fun getSelected(): GetCodes? {
return if (checkedPosition != -1) {
bankList?.get(checkedPosition)
customerList?.get(checkedPosition)
} else null
}

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

@ -1,10 +1,11 @@
package com.nivesh.production.bajajfd.interfaces
import com.nivesh.production.bajajfd.model.CreateFDRequest
import com.nivesh.production.bajajfd.model.SaveFDOtherDataRequest
interface BajajFDInterface {
fun stepOneApi(data: String?)
fun stepTwoApi(data: CreateFDRequest)
fun stepThreeApi(data: CreateFDRequest)
fun stepFourApi(data: String?)
fun stepFourApi(data: SaveFDOtherDataRequest)
}

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

@ -0,0 +1,8 @@
package com.nivesh.production.bajajfd.model
data class SaveFDOtherDataRequest(
var FDProvider: String?= "",
var NiveshClientCode: String? = "",
var UniqueId: String? = "",
var Values: String? = ""
)

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

@ -3,7 +3,6 @@ package com.nivesh.production.bajajfd.ui.activity
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
@ -26,7 +25,7 @@ import com.nivesh.production.bajajfd.util.Resource
import com.nivesh.production.bajajfd.viewModel.*
class BajajFdMainActivity : AppCompatActivity(), BajajFDInterface {
class BajajFdMainActivity : BaseActivity(), BajajFDInterface {
lateinit var binding: ActivityBajajFdBinding
private lateinit var viewModel: BajajFDViewModel
@ -385,13 +384,13 @@ class BajajFdMainActivity : AppCompatActivity(), BajajFDInterface {
// step 2 response
override fun stepTwoApi(data: CreateFDRequest) {
Log.e("stepTwoApi", " response ---> $data")
if (stepCount == 4) {
// if (stepCount == 4) {
// go to step 3 image Upload
binding.viewPager.currentItem = 2
} else {
// binding.viewPager.currentItem = 2
// } else {
// call create fd api bypass step 3
createFDApi(data, 2)
}
createFDApi(data, 2, "2")
// }
}
@ -399,16 +398,17 @@ class BajajFdMainActivity : AppCompatActivity(), BajajFDInterface {
override fun stepThreeApi(data: CreateFDRequest) {
Log.e("stepThreeApi", " response ---> $data")
// call create fd api
createFDApi(data, 3)
createFDApi(data, 3, "3")
}
// step 4 response
override fun stepFourApi(data: String?) {
override fun stepFourApi(data: SaveFDOtherDataRequest) {
Log.e("stepFourApi", " response ---> $data")
binding.viewPager.currentItem = 4
// binding.viewPager.currentItem = 4
}
private fun createFDApi(data: CreateFDRequest, currentItem: Int) {
private fun createFDApi(data: CreateFDRequest, currentItem: Int, step: String) {
if (Common.isNetworkAvailable(this@BajajFdMainActivity)) {
viewModel.createFDApi(data, token)
@ -425,10 +425,16 @@ class BajajFdMainActivity : AppCompatActivity(), BajajFDInterface {
when (code) {
200 -> {
binding.viewPager.currentItem = currentItem
StepFourBajajFDFragment.getInstance(this).displayReceivedData(createFDApplicationResponse)
if (step == "2"){
val stepThreeBajajFDFragment: StepThreeBajajFDFragment =
sectionsPagerAdapter.getRegisteredFragment(currentItem) as StepThreeBajajFDFragment
stepThreeBajajFDFragment.displayReceivedData(createFDApplicationResponse)
}
else{
val stepFourFDFragment: StepFourBajajFDFragment =
sectionsPagerAdapter.getRegisteredFragment(stepCount - 1) as StepFourBajajFDFragment
sectionsPagerAdapter.getRegisteredFragment(currentItem) as StepFourBajajFDFragment
stepFourFDFragment.displayReceivedData(createFDApplicationResponse)
}
}
// 650 -> refreshToken()
else -> {


+ 13
- 0
app/src/main/java/com/nivesh/production/bajajfd/ui/activity/BaseActivity.kt View File

@ -0,0 +1,13 @@
package com.nivesh.production.bajajfd.ui.activity
import android.app.Activity
import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity
open class BaseActivity : AppCompatActivity() {
private lateinit var mActivity: Activity
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
mActivity = this
}
}

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

@ -0,0 +1,21 @@
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()
}
}
}

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

@ -1,13 +1,10 @@
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
import android.view.View
import android.view.ViewGroup
import androidx.fragment.app.Fragment
import androidx.recyclerview.widget.LinearLayoutManager
import com.google.gson.Gson
import com.nivesh.production.bajajfd.R
@ -22,7 +19,7 @@ import com.nivesh.production.bajajfd.util.Constants
import com.nivesh.production.bajajfd.util.Resource
import com.nivesh.production.bajajfd.viewModel.StepFourBajajFDViewModel
class StepFourBajajFDFragment : Fragment() {
class StepFourBajajFDFragment : BaseFragment() {
private lateinit var stepFourBajajFDViewModel: StepFourBajajFDViewModel
private var _binding: FragmentBajajfdStepFourBinding? = null
@ -59,7 +56,12 @@ class StepFourBajajFDFragment : Fragment() {
binding.btnNext.setOnClickListener {
if (binding.checkBox.isChecked) {
bajajFDInterface.stepFourApi("stepFourResponse")
val saveFDOtherDataRequest = SaveFDOtherDataRequest()
saveFDOtherDataRequest.FDProvider = getString(R.string.bajaj)
saveFDOtherDataRequest.UniqueId = uniqueId
saveFDOtherDataRequest.Values = ""
saveFDOtherDataRequest.NiveshClientCode = (activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_CODE
bajajFDInterface.stepFourApi(saveFDOtherDataRequest)
} else {
showDialogValidation(
activity as BajajFdMainActivity,
@ -67,6 +69,10 @@ class StepFourBajajFDFragment : Fragment() {
)
}
}
binding.btnBack.setOnClickListener{
(activity as BajajFdMainActivity).binding.viewPager.currentItem = 2
}
return root
}
@ -101,14 +107,19 @@ class StepFourBajajFDFragment : Fragment() {
}
}
// 650 -> refreshToken()
else -> {}
else -> {
showDialogValidation(
activity as BajajFdMainActivity,
getCodeResponse.Response.Message
)
}
}
}
}
is Resource.Error -> {
response.message?.let { message ->
Log.e(" ", "An error occurred:$message")
showDialogValidation(activity as BajajFdMainActivity, message)
}
}
is Resource.Loading -> {
@ -130,10 +141,10 @@ class StepFourBajajFDFragment : Fragment() {
}
private fun getFDDetailsApi(uniqueId: String) {
if (Common.isNetworkAvailable(requireActivity())) {
if (Common.isNetworkAvailable(mActivity!!)) {
val getFDDetailsRequest = GetFDDetailsRequest()
getFDDetailsRequest.FDProvider = requireActivity().getString(R.string.bajaj)
getFDDetailsRequest.NiveshClientCode = (requireContext().applicationContext as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_CODE
getFDDetailsRequest.FDProvider = mActivity!!.getString(R.string.bajaj)
getFDDetailsRequest.NiveshClientCode = (mActivity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_CODE
getFDDetailsRequest.UniqueId = uniqueId
stepFourBajajFDViewModel.getFDDetails(getFDDetailsRequest, Constants.token)
stepFourBajajFDViewModel.getFDDetailsMutableData.observe(viewLifecycleOwner) { response ->
@ -149,23 +160,28 @@ class StepFourBajajFDFragment : Fragment() {
when (code) {
200 -> {
binding.tvInvestedAmount.text =
getFDDetailsResponse.Response.FDDataResponse.FDAmount.toString()
getString(R.string.rs).plus(getFDDetailsResponse.Response.FDDataResponse.FDAmount.toString())
binding.tvTenure.text =
getFDDetailsResponse.Response.FDDataResponse.Tenure.toString()
getFDDetailsResponse.Response.FDDataResponse.Tenure.toString().plus(" Months")
binding.tvInterestPayout.text =
getFDDetailsResponse.Response.FDDataResponse.Frequency
binding.tvRateOfInterest.text =
getFDDetailsResponse.Response.FDDataResponse.RateOfInterest.toString()
getFDDetailsResponse.Response.FDDataResponse.RateOfInterest.toString().plus(" % p.a.")
}
// 650 -> refreshToken()
else -> {}
else -> {
showDialogValidation(
activity as BajajFdMainActivity,
getFDDetailsResponse.Response.Message
)
}
}
}
}
is Resource.Error -> {
response.message?.let { message ->
Log.e(" ", "An error occurred:$message")
showDialogValidation(activity as BajajFdMainActivity, message)
}
}
is Resource.Loading -> {


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

@ -31,7 +31,7 @@ import com.nivesh.production.bajajfd.util.Resource
import com.nivesh.production.bajajfd.viewModel.StepOneBajajFDViewModel
class StepOneBajajFDFragment : Fragment() {
class StepOneBajajFDFragment : BaseFragment() {
private var _binding: FragmentBajajfdStepOneBinding? = null
private val binding get() = _binding!!


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

@ -36,7 +36,7 @@ import com.nivesh.production.bajajfd.util.Resource
import com.nivesh.production.bajajfd.viewModel.StepThreeBajajFDViewModel
import java.io.File
class StepThreeBajajFDFragment : Fragment() {
class StepThreeBajajFDFragment : BaseFragment() {
private var latestTmpUri: Uri? = null
private var _binding: FragmentBajajfdStepThreeBinding? = null
@ -45,7 +45,7 @@ class StepThreeBajajFDFragment : Fragment() {
private lateinit var bajajFDInterface: BajajFDInterface
private lateinit var stepThreeBajajFDViewModel: StepThreeBajajFDViewModel
private var uniqueId: String? = ""
private lateinit var dialog: Dialog
companion object {
@ -261,7 +261,12 @@ class StepThreeBajajFDFragment : Fragment() {
}
}
// 650 -> refreshToken()
else -> {}
else -> {
Common.showDialogValidation(
activity as BajajFdMainActivity,
getCodeResponse.Response.Message
)
}
}
}
}
@ -313,4 +318,8 @@ class StepThreeBajajFDFragment : Fragment() {
super.onDestroyView()
_binding = null
}
fun displayReceivedData(createFDApplicationResponse: CreateFDApplicationResponse) {
uniqueId = createFDApplicationResponse.Response.FDCreationDetailsResponse.UniqueId
}
}

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

@ -46,7 +46,7 @@ import com.nivesh.production.bajajfd.viewModel.StepTwoBajajFDViewModel
import java.util.*
class StepTwoBajajFDFragment : Fragment() {
class StepTwoBajajFDFragment : BaseFragment() {
private var _binding: FragmentBajajfdStepTwoBinding? = null
private val binding get() = _binding!!


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

@ -15,6 +15,7 @@ import com.google.android.material.textfield.TextInputEditText
import com.google.android.material.textfield.TextInputLayout
import com.google.gson.JsonObject
import com.nivesh.production.bajajfd.R
import com.nivesh.production.bajajfd.ui.activity.BaseActivity
import retrofit2.HttpException
import java.io.IOException
import java.text.SimpleDateFormat
@ -33,7 +34,7 @@ class Common {
val connectivityManager = getApplication<NewsApplication>().getSystemService(....
**/
//internet check
fun isNetworkAvailable(activity: Activity): Boolean {
fun isNetworkAvailable(activity: BaseActivity): Boolean {
val connectivityManager = activity.getSystemService(
Context.CONNECTIVITY_SERVICE
) as ConnectivityManager


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

@ -27,4 +27,5 @@ class StepThreeBajajFDViewModel(private val mainRepository: MainRepository) : Vi
getTitleMutableData.postValue(handleRatesResponse(response))
}
}

+ 3
- 3
app/src/main/res/layout/fragment_bajajfd_step_four.xml View File

@ -284,10 +284,10 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginTop="@dimen/margin_10"
android:layout_marginTop="@dimen/margin_5"
android:layout_marginBottom="@dimen/margin_15"
android:backgroundTint="@color/colorPrimary"
android:text="@string/viewOrder"
android:backgroundTint="@color/green"
android:text="@string/pay"
android:textColor="@color/white"
android:textSize="@dimen/text_size_14"
app:layout_constraintBottom_toBottomOf="parent"


+ 19
- 18
app/src/main/res/layout/item_customer_list_preview.xml View File

@ -4,36 +4,37 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:cardBackgroundColor="@color/white"
app:cardCornerRadius="3dp"
app:cardElevation="3dp"
app:cardCornerRadius="2dp"
app:cardElevation="2dp"
app:cardMaxElevation="1dp"
app:cardPreventCornerOverlap="true"
app:cardUseCompatPadding="true">
<LinearLayout
android:padding="@dimen/margin_3"
android:padding="@dimen/margin_1"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<ImageView
android:id="@+id/bankSelector"
android:layout_width="@dimen/margin_25"
android:layout_height="@dimen/margin_25"
android:layout_marginStart="@dimen/margin_10"
android:layout_marginEnd="@dimen/margin_10"
android:layout_marginBottom="@dimen/margin_10"
android:padding="@dimen/margin_5"
android:contentDescription="@null" />
<TextView
android:id="@+id/tvBankName"
android:layout_width="match_parent"
android:id="@+id/txtLabel"
android:gravity="start"
android:layout_gravity="center_vertical"
android:padding="@dimen/margin_2"
android:layout_weight="0.87"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/margin_4"
android:textColor="@color/black"
android:textSize="@dimen/text_size_14"
android:textStyle="bold" />
android:textSize="@dimen/text_size_12"/>
<com.google.android.material.switchmaterial.SwitchMaterial
android:id="@+id/tvCustomerName"
android:layout_width="0dp"
android:padding="@dimen/margin_4"
android:layout_height="wrap_content"
android:layout_weight="0.13"
android:checked="false"
android:drawablePadding="@dimen/margin_2" />
</LinearLayout>
</com.google.android.material.card.MaterialCardView>

+ 1
- 0
app/src/main/res/values-hi-rIN/strings.xml View File

@ -244,5 +244,6 @@
<string name="camera">Camera</string>
<string name="paymentModeCategory">PaymentMode</string>
<string name="customerCategory">CustomerCategory</string>
<string name="pay">PAY</string>
</resources>

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

@ -246,6 +246,7 @@
<string name="camera">Camera</string>
<string name="paymentModeCategory">PaymentMode</string>
<string name="customerCategory">CustomerCategory</string>
<string name="pay">PAY</string>
<array name="addressType">
<item>Aadhaar Card</item>


Loading…
Cancel
Save

Powered by TurnKey Linux.