Browse Source

changes done

PankajBranch
Hemant Khadase 2 years ago
parent
commit
0f6c54fe7a
18 changed files with 302 additions and 139 deletions
  1. +27
    -21
      app/src/main/java/com/nivesh/production/bajajfd/api/ApiClient.kt
  2. +1
    -1
      app/src/main/java/com/nivesh/production/bajajfd/interfaces/ApiInterface.kt
  3. +1
    -1
      app/src/main/java/com/nivesh/production/bajajfd/interfaces/BajajFDInterface.kt
  4. +8
    -0
      app/src/main/java/com/nivesh/production/bajajfd/model/ResponseXXXXXXXXXXXXX.kt
  5. +5
    -0
      app/src/main/java/com/nivesh/production/bajajfd/model/SaveFDOtherDataResponse.kt
  6. +2
    -2
      app/src/main/java/com/nivesh/production/bajajfd/repositories/MainRepository.kt
  7. +154
    -68
      app/src/main/java/com/nivesh/production/bajajfd/ui/activity/BajajFdMainActivity.kt
  8. +7
    -9
      app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepFiveBajajFDFragment.kt
  9. +8
    -8
      app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepFourBajajFDFragment.kt
  10. +1
    -1
      app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepOneBajajFDFragment.kt
  11. +10
    -2
      app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepTwoBajajFDFragment.kt
  12. +13
    -0
      app/src/main/java/com/nivesh/production/bajajfd/util/Common.kt
  13. +7
    -19
      app/src/main/java/com/nivesh/production/bajajfd/viewModel/BajajFDViewModel.kt
  14. +10
    -0
      app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepFiveBajajFDViewModel.kt
  15. +1
    -7
      app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepFourBajajFDViewModel.kt
  16. +43
    -0
      app/src/main/res/layout/row_fd_pay.xml
  17. +2
    -0
      app/src/main/res/values-hi-rIN/strings.xml
  18. +2
    -0
      app/src/main/res/values/strings.xml

+ 27
- 21
app/src/main/java/com/nivesh/production/bajajfd/api/ApiClient.kt View File

@ -1,21 +1,20 @@
package com.nivesh.production.bajajfd.api
import android.content.Context
import android.net.ConnectivityManager
import com.nivesh.production.bajajfd.BajajApplication
import com.nivesh.production.bajajfd.api.ApiClient.Companion.isNetworkAvailablee
import com.nivesh.production.bajajfd.interfaces.ApiInterface
import com.nivesh.production.bajajfd.util.Constants.Companion.BASE_URL
import okhttp3.Interceptor
import okhttp3.OkHttpClient
import okhttp3.Response
import okhttp3.logging.HttpLoggingInterceptor
import retrofit2.Retrofit
import retrofit2.converter.gson.GsonConverterFactory
import java.io.IOException
import java.security.KeyStore
import java.util.*
import java.util.concurrent.TimeUnit
import javax.net.ssl.*
class ApiClient {
val context = BajajApplication.appContext
companion object {
private val client by lazy {
//lazy means we only initialize this here once
@ -24,10 +23,31 @@ class ApiClient {
logging.setLevel(HttpLoggingInterceptor.Level.BODY)
//see the body of response
//create client for retrofit
val trustManagerFactory: TrustManagerFactory =
TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm())
trustManagerFactory.init(null as KeyStore?)
val trustManagers: Array<TrustManager> = trustManagerFactory.getTrustManagers()
check(!(trustManagers.size != 1 || trustManagers[0] !is X509TrustManager)) {
"Unexpected default trust managers:" + Arrays.toString(
trustManagers
)
}
val trustManager: X509TrustManager = trustManagers[0] as X509TrustManager
val sslContext = SSLContext.getInstance("SSL")
sslContext.init(null, arrayOf(trustManager), null)
val sslSocketFactory: SSLSocketFactory = sslContext.socketFactory
val client = OkHttpClient.Builder()
.addInterceptor(ConnectVerifierInterceptor())
.addInterceptor(logging)
.sslSocketFactory(sslSocketFactory, trustManager)
.retryOnConnectionFailure(true)
.callTimeout(2, TimeUnit.MINUTES)
.connectTimeout(20, TimeUnit.SECONDS)
.readTimeout(30, TimeUnit.SECONDS)
.writeTimeout(30, TimeUnit.SECONDS)
.build()
Retrofit.Builder()
.baseUrl(BASE_URL)
.addConverterFactory(GsonConverterFactory.create())
@ -37,24 +57,10 @@ class ApiClient {
val getApiClient: ApiInterface by lazy {
client.create(ApiInterface::class.java)
}
fun isNetworkAvailablee(): Boolean {
val connectivityManager =
BajajApplication.appContext?.getSystemService(Context.CONNECTIVITY_SERVICE) as? ConnectivityManager
return connectivityManager?.activeNetworkInfo?.isConnected == true
}
}
}
class ConnectVerifierInterceptor : Interceptor {
override fun intercept(chain: Interceptor.Chain): okhttp3.Response {
// if (!isNetworkAvailablee()) {
// throw IOException("No Network Available!")
// }
val request = chain.request()
return chain.proceed(request)
}
}

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

@ -34,7 +34,7 @@ interface ApiInterface {
@POST("WebApi_Bajaj/api/SaveFDOtherData")
suspend fun saveFDOtherData(
@Body requestBody: RequestBody,
@Body requestBody: SaveFDOtherDataRequest,
@Header("token") token: String
): Response<JsonObject>


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

@ -7,5 +7,5 @@ interface BajajFDInterface {
fun stepOneApi(data: String?)
fun stepTwoApi(data: CreateFDRequest)
fun stepThreeApi(data: CreateFDRequest)
fun stepFourApi(data: SaveFDOtherDataRequest)
fun stepFourApi(data: SaveFDOtherDataRequest, payUrl: String, value: String)
}

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

@ -0,0 +1,8 @@
package com.nivesh.production.bajajfd.model
data class ResponseXXXXXXXXXXXXX(
val Errors: List<Errors>,
val Message: String,
val Status: String,
val StatusCode: Int
)

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

@ -0,0 +1,5 @@
package com.nivesh.production.bajajfd.model
data class SaveFDOtherDataResponse(
val Response: ResponseXXXXXXXXXXXXX
)

+ 2
- 2
app/src/main/java/com/nivesh/production/bajajfd/repositories/MainRepository.kt View File

@ -29,8 +29,8 @@ class MainRepository constructor(private val apiInterface: ApiInterface) {
suspend fun documentsUploadResponse(getRatesRequest: DocumentUpload, token: String) =
apiInterface.documentsUpload(getRatesRequest, token)
suspend fun saveFDOtherDataResponse(getRatesRequest: GetRatesRequest, token: String) =
apiInterface.getRates(getRatesRequest, token)
suspend fun saveFDOtherDataResponse(getRatesRequest: SaveFDOtherDataRequest, token: String) =
apiInterface.saveFDOtherData(getRatesRequest, token)
suspend fun getFDDetailsResponse(getRatesRequest: GetFDDetailsRequest, token: String) =
apiInterface.getFDDetails(getRatesRequest, token)


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

@ -1,12 +1,20 @@
package com.nivesh.production.bajajfd.ui.activity
import android.annotation.SuppressLint
import android.app.Dialog
import android.graphics.Bitmap
import android.graphics.drawable.Drawable
import android.os.Bundle
import android.util.Log
import android.view.WindowManager
import android.webkit.WebView
import android.webkit.WebViewClient
import android.widget.TextView
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
@ -46,7 +54,7 @@ class BajajFdMainActivity : BaseActivity(), BajajFDInterface {
var getClientDetailsResponse: getClientDetailsResponse
private var stepCount: Int = 0
private lateinit var sectionsPagerAdapter : SectionsPagerAdapter
private lateinit var sectionsPagerAdapter: SectionsPagerAdapter
private lateinit var fragments: Array<Fragment>
override fun onCreate(savedInstanceState: Bundle?) {
@ -108,53 +116,51 @@ class BajajFdMainActivity : BaseActivity(), BajajFDInterface {
}
private fun getStepsCountApi() {
if (Common.isNetworkAvailable(this)) {
val fdStepsCount = FDStepsCountRequest()
fdStepsCount.FDProvider = getString(com.nivesh.production.bajajfd.R.string.bajaj)
fdStepsCount.NiveshClientCode = "8872"
viewModel.getStepsCount(fdStepsCount, token)
viewModel.getStepsCountMutableData.observe(this) { response ->
when (response) {
is Resource.Success -> {
Log.e("response", "-->$response")
val stepsCountResponse: StepsCountResponse =
Gson().fromJson(
response.data?.toString(),
StepsCountResponse::class.java
)
stepsCountResponse.Response.StatusCode.let { code ->
when (code) {
200 -> {
stepCount = stepsCountResponse.Response.StepsCount
getClientDetailsApi(stepsCountResponse.Response.StepsCount)
}
650 -> refreshToken(fdStepsCount)
else -> {
showDialogValidation(
this@BajajFdMainActivity,
stepsCountResponse.Response.Errors[0].ErrorMessage
)
}
}
}
}
is Resource.Error -> {
response.message?.let { message ->
showDialogValidation(this@BajajFdMainActivity, message)
}
}
is Resource.Loading -> {
}
}
}
}
if (Common.isNetworkAvailable(this)) {
val fdStepsCount = FDStepsCountRequest()
fdStepsCount.FDProvider = getString(R.string.bajaj)
fdStepsCount.NiveshClientCode = "8872"
viewModel.getStepsCount(fdStepsCount, token)
viewModel.getStepsCountMutableData.observe(this) { response ->
when (response) {
is Resource.Success -> {
Log.e("response", "-->$response")
val stepsCountResponse: StepsCountResponse =
Gson().fromJson(
response.data?.toString(),
StepsCountResponse::class.java
)
stepsCountResponse.Response.StatusCode.let { code ->
when (code) {
200 -> {
stepCount = stepsCountResponse.Response.StepsCount
getClientDetailsApi(stepsCountResponse.Response.StepsCount)
}
650 -> refreshToken(fdStepsCount)
else -> {
showDialogValidation(
this@BajajFdMainActivity,
stepsCountResponse.Response.Errors[0].ErrorMessage
)
}
}
}
}
is Resource.Error -> {
response.message?.let { message ->
showDialogValidation(this@BajajFdMainActivity, message)
}
}
is Resource.Loading -> {
}
}
}
}
}
private fun refreshToken(fdStepsCount: FDStepsCountRequest) {
if (Common.isNetworkAvailable(this@BajajFdMainActivity)) {
}
}
@ -162,20 +168,20 @@ class BajajFdMainActivity : BaseActivity(), BajajFDInterface {
if (Common.isNetworkAvailable(this@BajajFdMainActivity)) {
val getClientDetailsRequest = getClientDetailsRequest()
getClientDetailsRequest.client_code = "8872"
getClientDetailsRequest.AppOrWeb = getString(com.nivesh.production.bajajfd.R.string.app)
getClientDetailsRequest.AppOrWeb = getString(R.string.app)
getClientDetailsRequest.sub_broker_code = "1038"
val userRequest = UserRequest()
userRequest.UID = 19060
userRequest.IPAddress = ""
userRequest.Source = getString(com.nivesh.production.bajajfd.R.string.source)
userRequest.AppOrWeb = getString(com.nivesh.production.bajajfd.R.string.app)
userRequest.Source = getString(R.string.source)
userRequest.AppOrWeb = getString(R.string.app)
userRequest.LoggedInRoleId = 5
val deviceInfo = DeviceInfo()
deviceInfo.device_id = ""
deviceInfo.device_id_for_UMSId = ""
deviceInfo.device_type = getString(com.nivesh.production.bajajfd.R.string.app)
deviceInfo.device_type = getString(R.string.app)
deviceInfo.device_model = ""
deviceInfo.device_token = ""
deviceInfo.device_name = ""
@ -388,29 +394,23 @@ class BajajFdMainActivity : BaseActivity(), BajajFDInterface {
// step 2 response
override fun stepTwoApi(data: CreateFDRequest) {
Log.e("stepTwoApi", " response ---> $data")
// if (stepCount == 4) {
// go to step 3 image Upload
// binding.viewPager.currentItem = 2
// } else {
// call create fd api bypass step 3
createFDApi(data, 2, "2")
// }
Log.e("stepTwoApi", " response ---> " + Gson().toJson(data))
createFDApi(data, 2, "2")
}
// step 3 response
override fun stepThreeApi(data: CreateFDRequest) {
Log.e("stepThreeApi", " response ---> $data")
Log.e("stepThreeApi", " response --->" + Gson().toJson(data))
// call create fd api
createFDApi(data, 3, "3")
}
// step 4 response
override fun stepFourApi(data: SaveFDOtherDataRequest) {
Log.e("stepFourApi", " response ---> $data")
// binding.viewPager.currentItem = 4
override fun stepFourApi(data: SaveFDOtherDataRequest, payUrl: String, value: String) {
Log.e("stepFourApi", " response ---> " + Gson().toJson(data))
// binding.viewPager.currentItem = 4
saveFDOtherData(data, payUrl, value)
}
private fun createFDApi(data: CreateFDRequest, currentItem: Int, step: String) {
@ -430,16 +430,19 @@ class BajajFdMainActivity : BaseActivity(), BajajFDInterface {
when (code) {
200 -> {
binding.viewPager.currentItem = currentItem
if (step == "2"){
if (step == "2") {
val stepThreeBajajFDFragment: StepThreeBajajFDFragment =
sectionsPagerAdapter.getRegisteredFragment(currentItem) as StepThreeBajajFDFragment
stepThreeBajajFDFragment.displayReceivedData(createFDApplicationResponse)
stepThreeBajajFDFragment.displayReceivedData(
createFDApplicationResponse
)
} else {
val stepFourFDFragment: StepFourBajajFDFragment =
sectionsPagerAdapter.getRegisteredFragment(currentItem) as StepFourBajajFDFragment
stepFourFDFragment.displayReceivedData(
createFDApplicationResponse
)
}
else{
val stepFourFDFragment: StepFourBajajFDFragment =
sectionsPagerAdapter.getRegisteredFragment(currentItem) as StepFourBajajFDFragment
stepFourFDFragment.displayReceivedData(createFDApplicationResponse)
}
}
// 650 -> refreshToken()
else -> {
@ -464,4 +467,87 @@ class BajajFdMainActivity : BaseActivity(), BajajFDInterface {
}
}
}
private fun saveFDOtherData(data: SaveFDOtherDataRequest, payUrl: String, value: String) {
if (Common.isNetworkAvailable(this)) {
viewModel.saveFDOtherData(data, token)
viewModel.getFDOtherMutableData.observe(this) { response ->
when (response) {
is Resource.Success -> {
Log.e("response", "-->" + response.data.toString())
val saveFDOtherDataResponse: SaveFDOtherDataResponse =
Gson().fromJson(
response.data?.toString(),
SaveFDOtherDataResponse::class.java
)
saveFDOtherDataResponse.Response.StatusCode.let { code ->
when (code) {
200 -> {
paymentDialog(payUrl, value)
}
// 650 -> refreshToken()
else -> {
showDialogValidation(
this@BajajFdMainActivity,
saveFDOtherDataResponse.Response.Errors[0].ErrorMessage
)
}
}
}
}
is Resource.Error -> {
response.message?.let { message ->
showDialogValidation(this@BajajFdMainActivity, message)
}
}
is Resource.Loading -> {
}
}
}
}
}
@SuppressLint("SetJavaScriptEnabled")
fun paymentDialog(payUrl: String, value: String) {
Log.e("payUrl", "-->$payUrl")
Log.e("value", "-->$value")
val dialogWebView = Dialog(this@BajajFdMainActivity)
dialogWebView.setContentView(R.layout.row_fd_pay)
dialogWebView.setCancelable(true)
val tvCancel = dialogWebView.findViewById<TextView>(R.id.tvCancel)
tvCancel.setOnClickListener {
dialogWebView.dismiss()
}
val lp = WindowManager.LayoutParams()
lp.copyFrom(dialogWebView.window?.attributes)
lp.width = WindowManager.LayoutParams.MATCH_PARENT
lp.height = WindowManager.LayoutParams.MATCH_PARENT
dialogWebView.window?.attributes = lp
val wVPay = dialogWebView.findViewById<WebView>(R.id.wVPay)
wVPay.webViewClient = MyWebViewClient()
wVPay.settings.javaScriptEnabled = true
wVPay.settings.domStorageEnabled = true
wVPay.loadUrl(payUrl)
dialogWebView.show()
}
class MyWebViewClient : WebViewClient() {
override fun onPageStarted(view: WebView, url: String, favicon: Bitmap?) {
super.onPageStarted(view, url, favicon)
Log.e("onPageStarted", "-->$url")
if (url.isNotEmpty() && url.contains("CustomerPaymentResponse")) {
}
}
override fun onPageFinished(view: WebView, url: String) {
super.onPageFinished(view, url)
}
}
}

+ 7
- 9
app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepFiveBajajFDFragment.kt View File

@ -8,30 +8,27 @@ import androidx.fragment.app.Fragment
import androidx.lifecycle.ViewModelProvider
import com.nivesh.production.bajajfd.interfaces.BajajFDInterface
import com.nivesh.production.bajajfd.databinding.FragmentBajajfdStepFiveBinding
import com.nivesh.production.bajajfd.ui.activity.BajajFdMainActivity
import com.nivesh.production.bajajfd.viewModel.StepFiveBajajFDViewModel
class StepFiveBajajFDFragment : Fragment() {
private lateinit var stepFourViewModel: StepFiveBajajFDViewModel
private lateinit var stepFiveBajajFDViewModel: StepFiveBajajFDViewModel
private var _binding: FragmentBajajfdStepFiveBinding? = null
private val binding get() = _binding!!
private lateinit var bajajFDInterface: BajajFDInterface
companion object {
fun getInstance(fdInterface: BajajFDInterface): StepFiveBajajFDFragment {
val stepFourFragment = StepFiveBajajFDFragment()
stepFourFragment.setApi(fdInterface)
return stepFourFragment
val stepFiveFragment = StepFiveBajajFDFragment()
stepFiveFragment.setApi(fdInterface)
return stepFiveFragment
}
}
private fun setApi(bajajFDInterfaces: BajajFDInterface) {
fun setApi(bajajFDInterfaces: BajajFDInterface) {
bajajFDInterface = bajajFDInterfaces
}
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
}
override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?,
@ -40,6 +37,7 @@ class StepFiveBajajFDFragment : Fragment() {
_binding = FragmentBajajfdStepFiveBinding.inflate(inflater, container, false)
val root = binding.root
stepFiveBajajFDViewModel= (activity as BajajFdMainActivity).stepFiveBajajFDViewModel
// val textView: TextView = binding.sectionLabel
// stepFourViewModel.text.observe(viewLifecycleOwner) {


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

@ -26,7 +26,9 @@ class StepFourBajajFDFragment : BaseFragment() {
private val binding get() = _binding!!
private lateinit var listOfCustomer: MutableList<GetCodes>
private var selectedList: String = ""
private var uniqueId: String? = ""
private var uniqueId: String = ""
private var payUrl : String = ""
private var Value : String = ""
private lateinit var bajajFDInterface: BajajFDInterface
@ -75,7 +77,7 @@ class StepFourBajajFDFragment : BaseFragment() {
saveFDOtherDataRequest.Values = selectedList
saveFDOtherDataRequest.NiveshClientCode =
(activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_CODE
bajajFDInterface.stepFourApi(saveFDOtherDataRequest)
bajajFDInterface.stepFourApi(saveFDOtherDataRequest, payUrl, Value)
} else {
showDialogValidation(
activity as BajajFdMainActivity,
@ -92,10 +94,6 @@ class StepFourBajajFDFragment : BaseFragment() {
fun displayReceivedData(createFDApplicationResponse: CreateFDApplicationResponse) {
Log.e(
"createFDApplication",
"Response-->" + createFDApplicationResponse.Response.FDCreationDetailsResponse.UniqueId
)
uniqueId = createFDApplicationResponse.Response.FDCreationDetailsResponse.UniqueId
getFDDetailsApi(createFDApplicationResponse.Response.FDCreationDetailsResponse.UniqueId)
customerListApi()
@ -188,12 +186,14 @@ class StepFourBajajFDFragment : BaseFragment() {
binding.tvRateOfInterest.text =
getFDDetailsResponse.Response.FDDataResponse.RateOfInterest.toString()
.plus(" % p.a.")
payUrl = getFDDetailsResponse.Response.FDDataResponse.PaymentUrl
Value = getFDDetailsResponse.Response.FDDataResponse.Value
}
// 650 -> refreshToken()
else -> {
showDialogValidation(
activity as BajajFdMainActivity,
getFDDetailsResponse.Response.Message
getFDDetailsResponse.Response.Errors[0].ErrorMessage
)
}
}
@ -216,6 +216,6 @@ class StepFourBajajFDFragment : BaseFragment() {
override fun onDestroyView() {
super.onDestroyView()
_binding = null
// _binding = null
}
}

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

@ -505,6 +505,6 @@ class StepOneBajajFDFragment : BaseFragment() {
override fun onDestroyView() {
super.onDestroyView()
_binding = null
// _binding = null
}
}

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

@ -35,6 +35,7 @@ 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.getDate
import com.nivesh.production.bajajfd.util.Common.Companion.isIndianMobileNo
import com.nivesh.production.bajajfd.util.Common.Companion.isMinor
import com.nivesh.production.bajajfd.util.Common.Companion.isValidEmail
import com.nivesh.production.bajajfd.util.Common.Companion.isValidName
import com.nivesh.production.bajajfd.util.Common.Companion.isValidPan
@ -1784,7 +1785,14 @@ class StepTwoBajajFDFragment : BaseFragment() {
binding.tlPinCode,
getString(R.string.validPinCode)
)
} else if ((activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.ClientBanklist?.isEmpty()!! && binding.edtIFSC.text.toString()
}else if (binding.edtNomineeDOB.text.toString().isNotEmpty() && isMinor(binding.edtNomineeDOB.text.toString())){
commonErrorMethod(
binding.edtGuardianName,
binding.tlGuardianName,
getString(R.string.validGuardianDetails)
)
}
else if ((activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.ClientBanklist?.isEmpty()!! && binding.edtIFSC.text.toString()
.isEmpty()
) { // EditText
commonErrorAutoCompleteMethod(
@ -1831,7 +1839,7 @@ class StepTwoBajajFDFragment : BaseFragment() {
override fun onDestroyView() {
super.onDestroyView()
_binding = null
// _binding = null
}
}


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

@ -9,6 +9,7 @@ import android.net.ConnectivityManager
import android.net.NetworkCapabilities
import android.os.Build
import android.provider.ContactsContract
import android.text.format.DateFormat
import android.util.Patterns
import com.google.android.material.textfield.MaterialAutoCompleteTextView
import com.google.android.material.textfield.TextInputEditText
@ -203,5 +204,17 @@ class Common {
}
return Resource.Error(response.message())
}
fun isMinor(date: String): Boolean {
val simpleDateFormat = SimpleDateFormat("yyyy-mm-dd")
val dt1: Date = simpleDateFormat.parse(date)
val year: Int = DateFormat.format("yyyy", dt1).toString().toInt()
val month: Int = DateFormat.format("mm", dt1).toString().toInt()
val day = DateFormat.format("dd", dt1).toString().toInt()
val userAge: Calendar = GregorianCalendar(year, month, day)
val minAdultAge: Calendar = GregorianCalendar()
minAdultAge.add(Calendar.YEAR, -18)
return minAdultAge.before(userAge)
}
}
}

+ 7
- 19
app/src/main/java/com/nivesh/production/bajajfd/viewModel/BajajFDViewModel.kt View File

@ -5,9 +5,7 @@ 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.FDStepsCountRequest
import com.nivesh.production.bajajfd.model.getClientDetailsRequest
import com.nivesh.production.bajajfd.model.*
import com.nivesh.production.bajajfd.repositories.MainRepository
import com.nivesh.production.bajajfd.util.Common.Companion.handleRatesResponse
import com.nivesh.production.bajajfd.util.Resource
@ -38,21 +36,11 @@ class BajajFDViewModel(private val mainRepository: MainRepository) : ViewModel()
getFDResponseMutableData.postValue(handleRatesResponse(response))
}
// private fun handleRatesResponse(response: retrofit2.Response<JsonObject>): Resource<JsonObject> {
// try {
// if ( response.isSuccessful && response.body() != null) {
// response.body()?.let { resultResponse ->
// return Resource.Success(resultResponse)
// }
// }
// } catch (t: Throwable) {
// return when (t) {
// is IOException -> Resource.Error("Response : "+t.message.plus(" Cause: "+t.cause))
// is HttpException -> Resource.Error("Response : "+t.message.plus(" Cause: "+t.cause))
// else -> Resource.Error(t.localizedMessage?.toString() ?: "")
// }
// }
// return Resource.Error(response.message())
// }
val getFDOtherMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
fun saveFDOtherData(getRatesRequest: SaveFDOtherDataRequest, token: String) = viewModelScope.launch {
getFDOtherMutableData.postValue(Resource.Loading())
val response = mainRepository.saveFDOtherDataResponse(getRatesRequest, token)
getFDOtherMutableData.postValue(handleRatesResponse(response))
}
}

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

@ -1,7 +1,17 @@
package com.nivesh.production.bajajfd.viewModel
import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.lifecycle.ViewModel
import com.nivesh.production.bajajfd.databinding.FragmentBajajfdStepFiveBinding
import com.nivesh.production.bajajfd.databinding.FragmentBajajfdStepFourBinding
import com.nivesh.production.bajajfd.interfaces.BajajFDInterface
import com.nivesh.production.bajajfd.repositories.MainRepository
import com.nivesh.production.bajajfd.ui.activity.BajajFdMainActivity
import com.nivesh.production.bajajfd.ui.fragment.StepFiveBajajFDFragment
import com.nivesh.production.bajajfd.ui.fragment.StepFourBajajFDFragment
class StepFiveBajajFDViewModel (private val mainRepository: MainRepository) : ViewModel() {


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

@ -28,13 +28,7 @@ class StepFourBajajFDViewModel(private val mainRepository: MainRepository) : Vie
getFDDetailsMutableData.postValue(handleRatesResponse(response))
}
private val getRatesMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
fun saveFDOtherData(getRatesRequest: GetRatesRequest, token: String) = viewModelScope.launch {
getRatesMutableData.postValue(Resource.Loading())
val response = mainRepository.saveFDOtherDataResponse(getRatesRequest, token)
getRatesMutableData.postValue(handleRatesResponse(response))
}
val getRatesMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
fun updateFDPaymentStatus(getRatesRequest: GetRatesRequest, token: String) =
viewModelScope.launch {
getRatesMutableData.postValue(Resource.Loading())


+ 43
- 0
app/src/main/res/layout/row_fd_pay.xml View File

@ -0,0 +1,43 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
xmlns:app="http://schemas.android.com/apk/res-auto">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
style="@style/BoldStyle"
android:gravity="center"
android:layout_weight="0.1"
android:layout_marginEnd="@dimen/margin_15"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="@string/payment"
android:padding="@dimen/margin_15"
android:textSize="@dimen/text_size_18"/>
<TextView
android:id="@+id/tvCancel"
style="@style/BoldStyle"
android:layout_gravity="end"
android:layout_marginEnd="@dimen/margin_15"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/x"
android:padding="@dimen/margin_15"
android:textSize="@dimen/text_size_18"/>
</LinearLayout>
<WebView
android:layout_marginTop="@dimen/margin_5"
app:layout_constraintTop_toBottomOf="@+id/tvCancel"
android:id="@+id/wVPay"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
</LinearLayout>

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

@ -247,5 +247,7 @@
<string name="paymentModeCategory">PaymentMode</string>
<string name="customerCategory">CustomerCategory</string>
<string name="pay">PAY</string>
<string name="payment">Payment</string>
<string name="validGuardianDetails">Please enter Guardian Details</string>
</resources>

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

@ -247,6 +247,8 @@
<string name="paymentModeCategory">PaymentMode</string>
<string name="customerCategory">CustomerCategory</string>
<string name="pay">PAY</string>
<string name="payment">Payment</string>
<string name="validGuardianDetails">Please enter Guardian Details</string>
<array name="addressType">
<item>Aadhaar Card</item>


Loading…
Cancel
Save

Powered by TurnKey Linux.