From 78d0613eae6e0ad16740b24bf501f49e32f434a0 Mon Sep 17 00:00:00 2001 From: pankaj Date: Tue, 3 Jan 2023 16:52:11 +0530 Subject: [PATCH 01/16] send data fragment --- .../bajajfd/ui/activity/BajajFdMainActivity.kt | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/com/nivesh/production/bajajfd/ui/activity/BajajFdMainActivity.kt b/app/src/main/java/com/nivesh/production/bajajfd/ui/activity/BajajFdMainActivity.kt index f64a894..33ffc2f 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/ui/activity/BajajFdMainActivity.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/ui/activity/BajajFdMainActivity.kt @@ -1,6 +1,4 @@ package com.nivesh.production.bajajfd.ui.activity - -import android.R import android.graphics.drawable.Drawable import android.os.Bundle import android.util.Log @@ -8,7 +6,6 @@ import androidx.appcompat.app.AppCompatActivity 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 @@ -454,7 +451,11 @@ 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? - f.displayReceivedData(message) + if (f != null) { + if (message != null) { + f.displayReceivedData(message) + } + } } From 06aded85e061041e6a8675625efb49eb1942b15a Mon Sep 17 00:00:00 2001 From: pankaj Date: Wed, 4 Jan 2023 10:27:50 +0530 Subject: [PATCH 02/16] step --- .../production/bajajfd/BajajApplication.kt | 13 ++++++ .../bajajfd/adapter/CustomerListAdapter.kt | 5 +++ .../production/bajajfd/api/ApiClient.kt | 40 ++++++++++++++++++- .../ui/fragment/StepFourBajajFDFragment.kt | 2 + .../nivesh/production/bajajfd/util/Common.kt | 6 +++ .../res/layout/fragment_bajajfd_step_four.xml | 6 ++- .../res/layout/item_customer_list_preview.xml | 6 +-- 7 files changed, 73 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/com/nivesh/production/bajajfd/BajajApplication.kt b/app/src/main/java/com/nivesh/production/bajajfd/BajajApplication.kt index 22e3de5..8956025 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/BajajApplication.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/BajajApplication.kt @@ -1,6 +1,7 @@ package com.nivesh.production.bajajfd import android.app.Application +import android.content.Context class BajajApplication : Application() { private var mInstance: BajajApplication? = null @@ -9,10 +10,22 @@ class BajajApplication : Application() { override fun onCreate() { super.onCreate() mInstance = this; + appContext = applicationContext } @Synchronized fun getInstanceApp(): BajajApplication? { return mInstance } + + + companion object { + + lateinit var appContext: Context + + } + + + + } \ No newline at end of file diff --git a/app/src/main/java/com/nivesh/production/bajajfd/adapter/CustomerListAdapter.kt b/app/src/main/java/com/nivesh/production/bajajfd/adapter/CustomerListAdapter.kt index 3681c93..73265b9 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/adapter/CustomerListAdapter.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/adapter/CustomerListAdapter.kt @@ -3,6 +3,7 @@ package com.nivesh.production.bajajfd.adapter import android.view.LayoutInflater import android.view.View import android.view.ViewGroup +import android.widget.Toast import androidx.recyclerview.widget.RecyclerView import com.google.android.material.switchmaterial.SwitchMaterial import com.nivesh.production.bajajfd.R @@ -34,11 +35,15 @@ class CustomerListAdapter( override fun onBindViewHolder(holder: BankListViewHolder, position: Int) { val cList = customerList?.get(position) if (cList != null) { + holder.itemView.apply { holder.tvCustomerName.text = cList.Label setOnClickListener { onItemClickListener?.let { it(cList) + + Toast.makeText(context,cList.Value,Toast.LENGTH_SHORT).show() + if (checkedPosition != holder.adapterPosition) { notifyItemChanged(checkedPosition) checkedPosition = holder.adapterPosition diff --git a/app/src/main/java/com/nivesh/production/bajajfd/api/ApiClient.kt b/app/src/main/java/com/nivesh/production/bajajfd/api/ApiClient.kt index aaa5a11..2b88881 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/api/ApiClient.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/api/ApiClient.kt @@ -1,13 +1,16 @@ package com.nivesh.production.bajajfd.api + 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.logging.HttpLoggingInterceptor import retrofit2.Retrofit import retrofit2.converter.gson.GsonConverterFactory class ApiClient { + companion object { private val client by lazy { //lazy means we only initialize this here once @@ -17,7 +20,7 @@ class ApiClient { //see the body of response //create client for retrofit val client = OkHttpClient.Builder() - .addInterceptor(logging) + .addInterceptor(ConnectVerifierInterceptor()) .retryOnConnectionFailure(true) .build() Retrofit.Builder() @@ -29,5 +32,40 @@ class ApiClient { val getApiClient: ApiInterface by lazy { client.create(ApiInterface::class.java) } + + + + + class ConnectVerifierInterceptor : Interceptor { + override fun intercept(chain: Interceptor.Chain): okhttp3.Response { +// if (isNetworkAvailable(BaseActivity())) { +// // throw IOException("No Network Available!") +// +// } + + val request = chain.request() + return chain.proceed(request) + + + + + } + + } + + + } + + + + + + + + + + + + } \ No newline at end of file diff --git a/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepFourBajajFDFragment.kt b/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepFourBajajFDFragment.kt index 74f02dd..7bb6e34 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepFourBajajFDFragment.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepFourBajajFDFragment.kt @@ -138,6 +138,8 @@ class StepFourBajajFDFragment : BaseFragment() { val customerListAdapter = CustomerListAdapter(getCustomerList) binding.rvTerms.adapter = customerListAdapter + + } private fun getFDDetailsApi(uniqueId: String) { diff --git a/app/src/main/java/com/nivesh/production/bajajfd/util/Common.kt b/app/src/main/java/com/nivesh/production/bajajfd/util/Common.kt index 791ce18..18cb165 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/util/Common.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/util/Common.kt @@ -14,6 +14,7 @@ import com.google.android.material.textfield.MaterialAutoCompleteTextView import com.google.android.material.textfield.TextInputEditText import com.google.android.material.textfield.TextInputLayout import com.google.gson.JsonObject +import com.nivesh.production.bajajfd.BajajApplication import com.nivesh.production.bajajfd.R import com.nivesh.production.bajajfd.ui.activity.BaseActivity import retrofit2.HttpException @@ -27,6 +28,8 @@ import java.util.regex.Pattern class Common { companion object { + + /** *Before use this method write following code in model class app:Application(in activity and model) @@ -64,6 +67,9 @@ class Common { return false } + + + //valid email check fun isValidEmail(target: String?): Boolean { return Patterns.EMAIL_ADDRESS.matcher(target.toString()).matches() diff --git a/app/src/main/res/layout/fragment_bajajfd_step_four.xml b/app/src/main/res/layout/fragment_bajajfd_step_four.xml index 1017eb3..0ef98b7 100644 --- a/app/src/main/res/layout/fragment_bajajfd_step_four.xml +++ b/app/src/main/res/layout/fragment_bajajfd_step_four.xml @@ -220,7 +220,11 @@ + android:layout_height="match_parent" + tools:listitem="@layout/item_customer_list_preview" + + + /> diff --git a/app/src/main/res/layout/item_customer_list_preview.xml b/app/src/main/res/layout/item_customer_list_preview.xml index 2fff86b..1531c6e 100644 --- a/app/src/main/res/layout/item_customer_list_preview.xml +++ b/app/src/main/res/layout/item_customer_list_preview.xml @@ -22,14 +22,14 @@ android:layout_gravity="center_vertical" android:padding="@dimen/margin_2" android:layout_weight="0.87" - android:layout_width="0dp" + android:layout_width="wrap_content" android:layout_height="wrap_content" android:textColor="@color/black" android:textSize="@dimen/text_size_12"/> - + \ No newline at end of file From 8155bb84de72ea055221eaa5ec5919f6ccf6517b Mon Sep 17 00:00:00 2001 From: pankaj Date: Thu, 5 Jan 2023 10:45:01 +0530 Subject: [PATCH 03/16] resource change --- .../production/bajajfd/api/ApiCallback.kt | 35 ++++++++++++ .../production/bajajfd/api/ApiClient.kt | 6 ++ .../bajajfd/api/TokenAuthenticator.kt | 19 +++++++ .../ui/activity/BajajFdMainActivity.kt | 19 ++++++- .../ui/fragment/StepFourBajajFDFragment.kt | 6 ++ .../ui/fragment/StepOneBajajFDFragment.kt | 21 +++++++ .../ui/fragment/StepThreeBajajFDFragment.kt | 8 +++ .../ui/fragment/StepTwoBajajFDFragment.kt | 56 +++++++++++++++++++ .../nivesh/production/bajajfd/util/Common.kt | 12 +++- .../production/bajajfd/util/Resource.kt | 27 +++++++-- 10 files changed, 202 insertions(+), 7 deletions(-) create mode 100644 app/src/main/java/com/nivesh/production/bajajfd/api/ApiCallback.kt create mode 100644 app/src/main/java/com/nivesh/production/bajajfd/api/TokenAuthenticator.kt diff --git a/app/src/main/java/com/nivesh/production/bajajfd/api/ApiCallback.kt b/app/src/main/java/com/nivesh/production/bajajfd/api/ApiCallback.kt new file mode 100644 index 0000000..308a41f --- /dev/null +++ b/app/src/main/java/com/nivesh/production/bajajfd/api/ApiCallback.kt @@ -0,0 +1,35 @@ +package com.nivesh.production.bajajfd.api + +import com.nivesh.production.bajajfd.util.Resource +import retrofit2.Call +import retrofit2.Callback +import retrofit2.Response + +abstract class ApiCallback : Callback> { + + abstract fun onSuccess(response: Resource) + + abstract fun onFailure(response: Resource) + + override fun onResponse(call: Call>, response: Response>) { + if (response.isSuccessful && response.body() != null && response.code() == 200) { + onSuccess(response.body()!!) + } else { + // handle 4xx & 5xx error codes here +// val resp = Resource() +// resp.status = false +// resp.message = response.message() +// onFailure(resp) + + + + } + } + + override fun onFailure(call: Call>, t: Throwable) { +// val response = Resource() +// response.status = false +// response.message = t.message.toString() +// onFailure(response) + } +} \ No newline at end of file diff --git a/app/src/main/java/com/nivesh/production/bajajfd/api/ApiClient.kt b/app/src/main/java/com/nivesh/production/bajajfd/api/ApiClient.kt index 14f4d89..a3ef03a 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/api/ApiClient.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/api/ApiClient.kt @@ -13,6 +13,7 @@ import okhttp3.logging.HttpLoggingInterceptor import retrofit2.Retrofit import retrofit2.converter.gson.GsonConverterFactory import java.io.IOException +import java.util.concurrent.TimeUnit class ApiClient { val context = BajajApplication.appContext @@ -27,7 +28,12 @@ class ApiClient { val client = OkHttpClient.Builder() .addInterceptor(ConnectVerifierInterceptor()) .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()) diff --git a/app/src/main/java/com/nivesh/production/bajajfd/api/TokenAuthenticator.kt b/app/src/main/java/com/nivesh/production/bajajfd/api/TokenAuthenticator.kt new file mode 100644 index 0000000..204cf9d --- /dev/null +++ b/app/src/main/java/com/nivesh/production/bajajfd/api/TokenAuthenticator.kt @@ -0,0 +1,19 @@ +package com.nivesh.production.bajajfd.api + +import okhttp3.Authenticator +import okhttp3.Request +import okhttp3.Response +import okhttp3.Route + +class TokenAuthenticator { +// override fun authenticate(route: Route?, response: Response): Request? { +//// newAccessToken = service.refreshToken(); +//// +//// // Add new header to rejected request and retry it +//// return response.request().newBuilder() +//// .header(AUTHORIZATION, newAccessToken) +//// .build(); +// +// +// } +} \ No newline at end of file diff --git a/app/src/main/java/com/nivesh/production/bajajfd/ui/activity/BajajFdMainActivity.kt b/app/src/main/java/com/nivesh/production/bajajfd/ui/activity/BajajFdMainActivity.kt index 9bb0340..d02c903 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/ui/activity/BajajFdMainActivity.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/ui/activity/BajajFdMainActivity.kt @@ -8,6 +8,7 @@ import androidx.lifecycle.ViewModelProvider import androidx.viewpager.widget.ViewPager import com.google.gson.Gson import com.nivesh.production.bajajfd.adapter.SectionsPagerAdapter +import com.nivesh.production.bajajfd.api.ApiCallback import com.nivesh.production.bajajfd.api.ApiClient import com.nivesh.production.bajajfd.databinding.ActivityBajajFdBinding import com.nivesh.production.bajajfd.interfaces.BajajFDInterface @@ -145,6 +146,9 @@ class BajajFdMainActivity : BaseActivity(), BajajFDInterface { } is Resource.Loading -> { + } + is Resource.DataError -> { + } } } @@ -187,7 +191,8 @@ class BajajFdMainActivity : BaseActivity(), BajajFDInterface { viewModel.getClientDetails(getClientDetailsRequest, token) viewModel.getClientDetailsMutableData.observe(this) { response -> when (response) { - is Resource.Success -> { + is Resource.Success + -> { Log.e("response", "-->$response") getClientDetailsResponse = Gson().fromJson( @@ -215,6 +220,8 @@ class BajajFdMainActivity : BaseActivity(), BajajFDInterface { } is Resource.Loading -> { + }is Resource.DataError -> { + } } } @@ -222,6 +229,9 @@ class BajajFdMainActivity : BaseActivity(), BajajFDInterface { } + + + private fun setViewPager(stepsCount: Int) { // steps setting setBackground(selectedShape(), defaultShape(), defaultShape(), defaultShape()) @@ -358,6 +368,9 @@ class BajajFdMainActivity : BaseActivity(), BajajFDInterface { } is Resource.Loading -> { + } + is Resource.DataError -> { + } } } @@ -460,6 +473,10 @@ class BajajFdMainActivity : BaseActivity(), BajajFDInterface { is Resource.Loading -> { } + + is Resource.DataError -> { + + } } } } diff --git a/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepFourBajajFDFragment.kt b/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepFourBajajFDFragment.kt index 629f416..cadf277 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepFourBajajFDFragment.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepFourBajajFDFragment.kt @@ -142,6 +142,8 @@ class StepFourBajajFDFragment : BaseFragment() { } is Resource.Loading -> { + }is Resource.DataError -> { + } } } @@ -210,6 +212,10 @@ class StepFourBajajFDFragment : BaseFragment() { is Resource.Loading -> { } + + is Resource.DataError -> { + + } } } } diff --git a/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepOneBajajFDFragment.kt b/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepOneBajajFDFragment.kt index b6e6484..6b6e87f 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepOneBajajFDFragment.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepOneBajajFDFragment.kt @@ -223,7 +223,10 @@ class StepOneBajajFDFragment : BaseFragment() { } is Resource.Loading -> { + }is Resource.DataError -> { + } + } } } @@ -271,6 +274,10 @@ class StepOneBajajFDFragment : BaseFragment() { is Resource.Loading -> { } + + is Resource.DataError -> { + + } } } } @@ -312,6 +319,11 @@ class StepOneBajajFDFragment : BaseFragment() { is Resource.Loading -> { } + is Resource.DataError -> { + + } + + } } } @@ -380,6 +392,11 @@ class StepOneBajajFDFragment : BaseFragment() { is Resource.Loading -> { } + + is Resource.DataError -> { + + } + } } } @@ -498,6 +515,10 @@ class StepOneBajajFDFragment : BaseFragment() { is Resource.Loading -> { } + + is Resource.DataError -> { + + } } } } diff --git a/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepThreeBajajFDFragment.kt b/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepThreeBajajFDFragment.kt index e6dcb59..6f6e658 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepThreeBajajFDFragment.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepThreeBajajFDFragment.kt @@ -341,7 +341,12 @@ class StepThreeBajajFDFragment : BaseFragment() { is Resource.Loading -> { } + + is Resource.DataError -> { + + } } + } } @@ -397,6 +402,9 @@ class StepThreeBajajFDFragment : BaseFragment() { } is Resource.Loading -> { + } + is Resource.DataError -> { + } } } diff --git a/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepTwoBajajFDFragment.kt b/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepTwoBajajFDFragment.kt index 8218885..3d2b9ee 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepTwoBajajFDFragment.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepTwoBajajFDFragment.kt @@ -792,6 +792,10 @@ class StepTwoBajajFDFragment : BaseFragment() { is Resource.Loading -> { } + + is Resource.DataError -> { + + } } } } @@ -834,6 +838,10 @@ class StepTwoBajajFDFragment : BaseFragment() { is Resource.Loading -> { } + + is Resource.DataError -> { + + } } } } @@ -968,6 +976,10 @@ class StepTwoBajajFDFragment : BaseFragment() { is Resource.Loading -> { } + + is Resource.DataError-> { + + } } } @@ -1064,6 +1076,9 @@ class StepTwoBajajFDFragment : BaseFragment() { } is Resource.Loading -> { + } + is Resource.DataError -> { + } } } @@ -1112,6 +1127,10 @@ class StepTwoBajajFDFragment : BaseFragment() { is Resource.Loading -> { } + + is Resource.DataError -> { + + } } } @@ -1180,6 +1199,10 @@ class StepTwoBajajFDFragment : BaseFragment() { is Resource.Loading -> { } + + is Resource.DataError -> { + + } } } @@ -1244,6 +1267,10 @@ class StepTwoBajajFDFragment : BaseFragment() { is Resource.Loading -> { } + + is Resource.DataError -> { + + } } } @@ -1301,6 +1328,10 @@ class StepTwoBajajFDFragment : BaseFragment() { is Resource.Loading -> { } + + is Resource.DataError -> { + + } } } @@ -1358,7 +1389,14 @@ class StepTwoBajajFDFragment : BaseFragment() { is Resource.Loading -> { } + + is Resource.DataError -> { + + } } + + + } } @@ -1415,6 +1453,11 @@ class StepTwoBajajFDFragment : BaseFragment() { is Resource.Loading -> { } + + + is Resource.DataError -> { + + } } } @@ -1488,6 +1531,10 @@ class StepTwoBajajFDFragment : BaseFragment() { is Resource.Loading -> { } + + is Resource.DataError -> { + + } } } @@ -1565,6 +1612,11 @@ class StepTwoBajajFDFragment : BaseFragment() { is Resource.Loading -> { } + + + is Resource.DataError -> { + + } } } } @@ -1607,6 +1659,10 @@ class StepTwoBajajFDFragment : BaseFragment() { is Resource.Loading -> { } + + is Resource.DataError -> { + + } } } diff --git a/app/src/main/java/com/nivesh/production/bajajfd/util/Common.kt b/app/src/main/java/com/nivesh/production/bajajfd/util/Common.kt index 405c1ad..b9e6037 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/util/Common.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/util/Common.kt @@ -3,10 +3,12 @@ package com.nivesh.production.bajajfd.util import android.app.Activity import android.app.AlertDialog import android.content.Context +import android.content.Intent import android.graphics.Color import android.graphics.drawable.GradientDrawable import android.net.ConnectivityManager import android.net.NetworkCapabilities +import android.net.Uri import android.os.Build import android.provider.ContactsContract import android.util.Patterns @@ -194,11 +196,15 @@ class Common { fun handleRatesResponse(response: retrofit2.Response): Resource { try { - if (response.isSuccessful && response.body() != null) { + 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)) @@ -209,5 +215,9 @@ class Common { } return Resource.Error(response.message()) } + + + + } } \ No newline at end of file diff --git a/app/src/main/java/com/nivesh/production/bajajfd/util/Resource.kt b/app/src/main/java/com/nivesh/production/bajajfd/util/Resource.kt index ef9662e..c8a3766 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/util/Resource.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/util/Resource.kt @@ -1,10 +1,27 @@ package com.nivesh.production.bajajfd.util + sealed class Resource( val data:T?=null, - val message:String?=null) -{ - class Success(data: T):Resource(data) - class Error(message: String,data: T?= null):Resource(data,message) - class Loading:Resource() + var message:String?=null, + val errorCode: Int? = null, + var status: Boolean = true + +) { + class Success(data: T) : Resource(data) + class Error(message: String, data: T? = null) : Resource(data, message) + class Loading : Resource() + class DataError(errorCode: Int,message: String, data: T? = null) : Resource(null, message,errorCode) + + + override fun toString(): String { + return when (this) { + is Success<*> -> "Success[data=$data]" + is DataError -> "ErrorCode[exception=$errorCode]" + is Loading -> "Loading" + is Error -> "Error[exception=${error(Any())}]" + } + + } + } \ No newline at end of file From 4459169f33557f9cbcfd0ac728d8ed8ab63edbd5 Mon Sep 17 00:00:00 2001 From: pankaj Date: Thu, 5 Jan 2023 11:15:07 +0530 Subject: [PATCH 04/16] fetch --- .../bajajfd/ui/activity/BajajFdMainActivity.kt | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/com/nivesh/production/bajajfd/ui/activity/BajajFdMainActivity.kt b/app/src/main/java/com/nivesh/production/bajajfd/ui/activity/BajajFdMainActivity.kt index 0f5b8b0..ba07cea 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/ui/activity/BajajFdMainActivity.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/ui/activity/BajajFdMainActivity.kt @@ -87,7 +87,9 @@ class BajajFdMainActivity : BaseActivity(), BajajFDInterface { if (Common.isNetworkAvailable(this)) { val fdStepsCount = FDStepsCountRequest() fdStepsCount.FDProvider = getString(R.string.bajaj) - fdStepsCount.NiveshClientCode = "8872" + fdStepsCount.NiveshClientCode = "72682" + //hemant client code =8872 + viewModel.getStepsCount(fdStepsCount, token, this) viewModel.getStepsCountMutableData.observe(this) { response -> when (response) { @@ -138,9 +140,12 @@ class BajajFdMainActivity : BaseActivity(), BajajFDInterface { private fun getClientDetailsApi(stepsCount: Int) { if (Common.isNetworkAvailable(this@BajajFdMainActivity)) { val getClientDetailsRequest = getClientDetailsRequest() - getClientDetailsRequest.client_code = "8872" + getClientDetailsRequest.client_code = "72682" getClientDetailsRequest.AppOrWeb = getString(R.string.app) - getClientDetailsRequest.sub_broker_code = "1038" + getClientDetailsRequest.sub_broker_code = "3435" + + //hemant 8872/1038 + val userRequest = UserRequest() userRequest.UID = 19060 From e9d2d7a05cdce90bf3810ba840e89b0095d76a91 Mon Sep 17 00:00:00 2001 From: pankaj Date: Thu, 5 Jan 2023 13:40:06 +0530 Subject: [PATCH 05/16] add --- .../production/bajajfd/interfaces/ApiInterface.kt | 10 ++++++---- .../production/bajajfd/repositories/MainRepository.kt | 4 ++-- .../bajajfd/viewModel/StepTwoBajajFDViewModel.kt | 2 +- 3 files changed, 9 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/com/nivesh/production/bajajfd/interfaces/ApiInterface.kt b/app/src/main/java/com/nivesh/production/bajajfd/interfaces/ApiInterface.kt index fd46791..c8f0758 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/interfaces/ApiInterface.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/interfaces/ApiInterface.kt @@ -146,7 +146,10 @@ interface ApiInterface { ): Response @GET("WebAPI_Bajaj/api/GetFDBankList?FDProvider=Bajaj") - suspend fun bankListApi(@Header("token") token: String): Response + suspend fun bankListApi( + @Header("token") + token: String + ): Response @GET("WebApi/api/GetIFSC_Autofill") suspend fun getIFSCApi( @@ -155,12 +158,11 @@ interface ApiInterface { ): Response - @GET("WebApi/api/GetBankDetailsFromIFSC?") + @GET("WebApi_Bajaj/api/GetBankDetailsFromIFSC") suspend fun getIFSCDetailsApi( @Query("ifsc") ifsc : String, - @Header("token") - token: String + ): Response @POST("WebApi_Bajaj/api/GetCodes") diff --git a/app/src/main/java/com/nivesh/production/bajajfd/repositories/MainRepository.kt b/app/src/main/java/com/nivesh/production/bajajfd/repositories/MainRepository.kt index 0b1ba2c..18113e3 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/repositories/MainRepository.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/repositories/MainRepository.kt @@ -80,8 +80,8 @@ class MainRepository constructor(private val apiInterface: ApiInterface) { suspend fun ifscCodeCheck(str: String) = apiInterface.getIFSCApi(str) - suspend fun ifscCodeDetailsCheck(str: String, token: String) = - apiInterface.getIFSCDetailsApi(str, token) + suspend fun ifscCodeDetailsCheck(str: String) = + apiInterface.getIFSCDetailsApi(str) suspend fun payModeCheck(getCodeRequest: GetCodeRequest, token: String) = apiInterface.payModeApi(getCodeRequest, token) diff --git a/app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepTwoBajajFDViewModel.kt b/app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepTwoBajajFDViewModel.kt index 761ed89..0189913 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepTwoBajajFDViewModel.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepTwoBajajFDViewModel.kt @@ -143,7 +143,7 @@ class StepTwoBajajFDViewModel(private val mainRepository: MainRepository) : View ) { if (Common.isNetworkAvailable(activity)) { getifscCodeDetailsCheckMutableData.postValue(Resource.Loading()) - val response = mainRepository.ifscCodeDetailsCheck(ifsc, token) + val response = mainRepository.ifscCodeDetailsCheck(ifsc) getifscCodeDetailsCheckMutableData.postValue(handleResponse(response)) } } From e1b481895d28adaed98bc89e3d85eff00b73307b Mon Sep 17 00:00:00 2001 From: pankaj Date: Thu, 5 Jan 2023 14:10:24 +0530 Subject: [PATCH 06/16] commit --- .../ui/fragment/StepTwoBajajFDFragment.kt | 31 ++++++++----------- .../res/layout/fragment_bajajfd_step_two.xml | 1 + 2 files changed, 14 insertions(+), 18 deletions(-) diff --git a/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepTwoBajajFDFragment.kt b/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepTwoBajajFDFragment.kt index d2ea3ed..adad6e2 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepTwoBajajFDFragment.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepTwoBajajFDFragment.kt @@ -924,9 +924,9 @@ class StepTwoBajajFDFragment : BaseFragment() { } private fun setUpRecyclerView() { + if ((activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.ClientBanklist?.isNotEmpty()!!) { - binding.rvClientBankList.layoutManager = - LinearLayoutManager(activity as BajajFdMainActivity) + binding.rvClientBankList.layoutManager = LinearLayoutManager(activity as BajajFdMainActivity) bankListAdapter = BankListAdapter( (activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.ClientBanklist, (activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_ACCNO1 @@ -1045,34 +1045,29 @@ class StepTwoBajajFDFragment : BaseFragment() { ) binding.spTitle.setAdapter(adapter) - val titleText = - (activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.Client_Title + val titleText = (activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.Client_Title val newTitleText = "$titleText." - if (titleText?.isEmpty()!!) { + + + if (titleText.isNullOrEmpty()) + { + binding.spTitle.setText( adapter.getItem(0)?.Value, false ) + + } else { for (title in listOfTitle) { if (title.Value == newTitleText) { binding.spTitle.setText(title.Value, false) break } -// binding.spTitle.setOnTouchListener { v, event -> -// when (event?.action) { -// MotionEvent.ACTION_DOWN -> { -// binding.spTitle.setText( -// adapter.getItem(0)?.Value, -// false -// ) -// -// } -// } -// -// v?.onTouchEvent(event) ?: true -// } + } + + } binding.spNomineeTitle.setAdapter(adapter) diff --git a/app/src/main/res/layout/fragment_bajajfd_step_two.xml b/app/src/main/res/layout/fragment_bajajfd_step_two.xml index 20c5ec9..3ada6e5 100644 --- a/app/src/main/res/layout/fragment_bajajfd_step_two.xml +++ b/app/src/main/res/layout/fragment_bajajfd_step_two.xml @@ -943,6 +943,7 @@ android:layout_height="wrap_content" android:paddingTop="@dimen/margin_15" android:paddingBottom="@dimen/margin_15" + android:inputType="number" android:textSize="@dimen/text_size_14" /> From 0e2035ca57b7aba9bb85abf641807c1f1ef802a1 Mon Sep 17 00:00:00 2001 From: pankaj Date: Thu, 5 Jan 2023 20:35:55 +0530 Subject: [PATCH 07/16] bank detail add --- .../bajajfd/adapter/BankListAdapter.kt | 63 +++--- .../bajajfd/model/BankValidationApiRequest.kt | 10 +- .../bajajfd/model/ClientBanklist.kt | 14 +- .../ui/fragment/StepThreeBajajFDFragment.kt | 2 + .../ui/fragment/StepTwoBajajFDFragment.kt | 199 ++++++++++++++++-- .../viewModel/StepTwoBajajFDViewModel.kt | 15 ++ app/src/main/res/drawable/ic_minus.xml | 5 + .../res/layout/fragment_bajajfd_step_two.xml | 31 ++- 8 files changed, 284 insertions(+), 55 deletions(-) create mode 100644 app/src/main/res/drawable/ic_minus.xml diff --git a/app/src/main/java/com/nivesh/production/bajajfd/adapter/BankListAdapter.kt b/app/src/main/java/com/nivesh/production/bajajfd/adapter/BankListAdapter.kt index 2e5f4be..4f66308 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/adapter/BankListAdapter.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/adapter/BankListAdapter.kt @@ -7,18 +7,21 @@ import android.widget.ImageView import android.widget.TextView import androidx.recyclerview.widget.RecyclerView import com.nivesh.production.bajajfd.R -import com.nivesh.production.bajajfd.model.BankList import com.nivesh.production.bajajfd.model.ClientBanklist class BankListAdapter( private val bankList: List?, - private val selectedAccount: String? = null + private val selectedAccount: String? = null, + private val width:Double? ) : RecyclerView.Adapter() { 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 tvBankAccountNumber: TextView = itemView.findViewById(R.id.tvBankAccountNumber) val tvBankIFSC: TextView = itemView.findViewById(R.id.tvBankIFSC) + + + } private var checkedPosition: Int = -2 @@ -27,13 +30,23 @@ class BankListAdapter( parent: ViewGroup, viewType: Int ): BankListViewHolder { - return BankListViewHolder( - LayoutInflater.from(parent.context).inflate( - R.layout.item_bank_list_preview, - parent, - false - ) - ) +// return BankListViewHolder( +// LayoutInflater.from(parent.context).inflate( +// R.layout.item_bank_list_preview, +// parent, +// false +// ) +// ) + + + + val view = LayoutInflater.from(parent.context).inflate(R.layout.item_bank_list_preview, parent, false); + view.layoutParams = width?.div(1.35) + ?.let { ViewGroup.LayoutParams(it.toInt(),ViewGroup.LayoutParams.WRAP_CONTENT) } + return BankListViewHolder(view) + + + } override fun onBindViewHolder(holder: BankListViewHolder, position: Int) { @@ -44,30 +57,32 @@ class BankListAdapter( holder.tvBankIFSC.text = bankList.IFSCCode holder.tvBankAccountNumber.text = bankList.AccountNumber - if (selectedAccount == bankList.AccountNumber && checkedPosition == -2 - ) { + if (selectedAccount == bankList.AccountNumber && (checkedPosition == -2)) + { holder.bankSelector.setBackgroundResource(R.drawable.ic_select_green) checkedPosition = holder.adapterPosition - } else if (checkedPosition == -1) { + + } + else if (checkedPosition == -1) { holder.bankSelector.setBackgroundResource(R.drawable.ic_select_outline) - } else if (checkedPosition == holder.adapterPosition) { + } + else if (checkedPosition == holder.adapterPosition) { holder.bankSelector.setBackgroundResource(R.drawable.ic_select_green) - } else { - holder.bankSelector.setBackgroundResource(R.drawable.ic_select_outline) } - setOnClickListener { - onItemClickListener?.let { - it(bankList) - - holder.bankSelector.setBackgroundResource(R.drawable.ic_select_green) - if (checkedPosition != holder.adapterPosition) { - notifyItemChanged(checkedPosition) - checkedPosition = holder.adapterPosition + else { + holder.bankSelector.setBackgroundResource(R.drawable.ic_select_outline) + } - } + holder.itemView.setOnClickListener { + holder.bankSelector.setBackgroundResource(R.drawable.ic_select_green) + if (checkedPosition != holder.adapterPosition) { + notifyItemChanged(checkedPosition) + checkedPosition = holder.adapterPosition } } + + } } } diff --git a/app/src/main/java/com/nivesh/production/bajajfd/model/BankValidationApiRequest.kt b/app/src/main/java/com/nivesh/production/bajajfd/model/BankValidationApiRequest.kt index 10fca16..0b6ae56 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/model/BankValidationApiRequest.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/model/BankValidationApiRequest.kt @@ -2,9 +2,9 @@ package com.nivesh.production.bajajfd.model data class BankValidationApiRequest( var BankAccountNo: String?="", - val BankNo: Int?= 0, - val IFSC: String?= "", - val Name: String? = "", - val PhoneNo: String? = "", - val RoleId: Int? = 0 + var BankNo: Int?= 0, + var IFSC: String?= "", + var Name: String? = "", + var PhoneNo: String? = "", + var RoleId: Int? = 0 ) \ No newline at end of file diff --git a/app/src/main/java/com/nivesh/production/bajajfd/model/ClientBanklist.kt b/app/src/main/java/com/nivesh/production/bajajfd/model/ClientBanklist.kt index 52e87e8..04a1ed1 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/model/ClientBanklist.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/model/ClientBanklist.kt @@ -1,11 +1,11 @@ package com.nivesh.production.bajajfd.model data class ClientBanklist( - val AccountNumber: String?, - val AccountType: String?, - val BankName: String?, - val BranchName: String?, - val DefaultBankFlag: String?, - val IFSCCode: String?, - val IsValBank: Int? = 0 + var AccountNumber: String?="", + var AccountType: String?="", + var BankName: String?="", + var BranchName: String?="", + val DefaultBankFlag: String?="", + var IFSCCode: String?="", + var IsValBank: Int? = 0 ) \ No newline at end of file diff --git a/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepThreeBajajFDFragment.kt b/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepThreeBajajFDFragment.kt index 7260ac6..3431105 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepThreeBajajFDFragment.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepThreeBajajFDFragment.kt @@ -535,4 +535,6 @@ class StepThreeBajajFDFragment : BaseFragment() { fun displayReceivedData(createFDApplicationResponse: CreateFDApplicationResponse) { uniqueId = createFDApplicationResponse.Response.FDCreationDetailsResponse.UniqueId } + + } \ No newline at end of file diff --git a/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepTwoBajajFDFragment.kt b/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepTwoBajajFDFragment.kt index 699f0ac..14e56cc 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepTwoBajajFDFragment.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepTwoBajajFDFragment.kt @@ -7,6 +7,7 @@ import android.text.Editable import android.text.InputFilter import android.text.InputFilter.LengthFilter import android.text.TextWatcher +import android.util.DisplayMetrics import android.util.Log import android.view.LayoutInflater import android.view.View @@ -50,14 +51,11 @@ import java.util.* class StepTwoBajajFDFragment : BaseFragment() { - private var _binding: FragmentBajajfdStepTwoBinding? = null private val binding get() = _binding!! - private lateinit var rbBank: RadioButton private lateinit var rbPaymentMode: RadioButton private var cal = Calendar.getInstance() - private lateinit var listOfTitle: List private lateinit var listOfGender: List private lateinit var listOfAnnualIncome: List @@ -69,10 +67,13 @@ class StepTwoBajajFDFragment : BaseFragment() { private lateinit var listOfCities: List private lateinit var listOfIFSC: MutableList + private lateinit var stepTwoBajajFDViewModel: StepTwoBajajFDViewModel private lateinit var bankListAdapter: BankListAdapter private lateinit var paymentModeAdapter: PaymentModeAdapter private lateinit var stateObject: DataObject + private val listOfBanks: MutableList = mutableListOf() + override fun onCreateView( inflater: LayoutInflater, container: ViewGroup?, @@ -523,6 +524,31 @@ class StepTwoBajajFDFragment : BaseFragment() { binding.btnAddBank.setOnClickListener { if (validateBank()) { /// as + + val selectedOption: Int = binding.rgBank!!.checkedRadioButtonId + + val fullName= binding.edtFirstName.text.toString().plus(" ").plus(binding.edtMiddleName.text.toString()).plus(" ").plus(binding.edtLastName.text.toString()) + verifyAccountNo( + binding.edtAccountNumber.text.toString(), + binding.edtIFSC.text.toString(), + fullName, + binding.edtMobileNumber.text.toString(), + 1 + + ) + + + + + + + + + + // binding.radio.findViewById(selectedOption) + + + } } @@ -532,6 +558,8 @@ class StepTwoBajajFDFragment : BaseFragment() { if ((activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.ClientBanklist?.isEmpty()!!) { binding.llBankDetails.visibility = View.VISIBLE + + } else { binding.llBankDetails.visibility = View.GONE } @@ -539,15 +567,25 @@ class StepTwoBajajFDFragment : BaseFragment() { binding.addBankDetail.setOnClickListener { if (binding.llBankDetails.visibility == View.GONE) { binding.llBankDetails.visibility = View.VISIBLE + binding.addBankDetail.setCompoundDrawablesWithIntrinsicBounds(0,0,R.drawable.ic_minus,0) + } else { binding.llBankDetails.visibility = View.GONE + binding.addBankDetail.setCompoundDrawablesWithIntrinsicBounds(0,0,R.drawable.ic_add_icon,0) + + + } } titleApi() +// setUpRecyclerView() + - setUpRecyclerView() + setUpRecyclerView( + (activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.ClientBanklist, + (activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_ACCNO1) binding.tvPersonalDetails.setOnClickListener { if (binding.llPersonalDetail.visibility == View.VISIBLE) { @@ -566,11 +604,12 @@ class StepTwoBajajFDFragment : BaseFragment() { binding.tvBankDetails.setOnClickListener { if (binding.llBankDetails.visibility == View.VISIBLE) { binding.llBankDetails.visibility = View.GONE + } else { binding.llBankDetails.visibility = View.VISIBLE + } } - binding.btnNext.setOnClickListener { if (validation()) { // Applicant Details @@ -711,11 +750,14 @@ class StepTwoBajajFDFragment : BaseFragment() { createFDApi((activity as BajajFdMainActivity).createFDRequest) } } - binding.btnBack.setOnClickListener { (activity as BajajFdMainActivity).binding.viewPager.currentItem = 0 } + + + + } private fun createFDApi(data: CreateFDRequest) { @@ -765,7 +807,7 @@ class StepTwoBajajFDFragment : BaseFragment() { private fun ifscCodeCheckApi(ifsc: String) { - if (ifsc.length >8) { + if (ifsc.length ==11) { stepTwoBajajFDViewModel.ifscCodeApi(ifsc, activity as BajajFdMainActivity) stepTwoBajajFDViewModel.getifscCodeCheckMutableData.observe(viewLifecycleOwner) { response -> when (response) { @@ -884,6 +926,100 @@ class StepTwoBajajFDFragment : BaseFragment() { } + private fun verifyAccountNo(bankAccount :String,Ifsc :String,name:String,phoneNumber:String,bankNo:Int) { + + val bankValidationApiRequest = BankValidationApiRequest() + bankValidationApiRequest.BankAccountNo=bankAccount + bankValidationApiRequest.IFSC=Ifsc + bankValidationApiRequest.Name=name + bankValidationApiRequest.PhoneNo=phoneNumber + bankValidationApiRequest.RoleId=5 + bankValidationApiRequest.BankNo=bankNo + + + stepTwoBajajFDViewModel.bankValidationApi( + bankValidationApiRequest, + token, + activity as BajajFdMainActivity + + ) + stepTwoBajajFDViewModel.bankValidationApiMutableData.observe(viewLifecycleOwner) { response -> + when (response) { + is Resource.Success -> { + val getBankValidationApiResponse = + Gson().fromJson( + response.data?.toString(), + BankValidationApiResponse::class.java + ) + getBankValidationApiResponse.response.status_code.let { code -> + if (binding.tvAcVerify.visibility == View.GONE) { + binding.tvAcVerify.visibility = View.VISIBLE + } + + when (code) { + 200 -> { + if(getBankValidationApiResponse.Message=="Account verified") + { + val clientBanklist =ClientBanklist() + clientBanklist.AccountNumber=bankAccount + clientBanklist.AccountType="sb" + clientBanklist.BankName=binding.edtBankName.text.toString() + clientBanklist.BranchName=binding.edtBankBranch.text.toString() + clientBanklist.IFSCCode=Ifsc + clientBanklist.IsValBank=1 + + (activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.ClientBanklist?.let { + listOfBanks.addAll( + it + ) + } + listOfBanks.add(clientBanklist) + setUpRecyclerView( + listOfBanks , + clientBanklist.AccountNumber.toString()) + + } + else { + + Common.showDialogValidation(activity as BajajFdMainActivity, getBankValidationApiResponse.Message) + + } + + } + else -> { + Common.showDialogValidation(activity as BajajFdMainActivity, getBankValidationApiResponse.Message) + + + + + + + + + } + } + } + } + + is Resource.Error -> { + response.message?.let { message -> + Common.showDialogValidation(activity as BajajFdMainActivity, message) + } + } + is Resource.Loading -> { + + } + is Resource.DataError -> { + + } + } + } + + } + + + + private fun validateBank(): Boolean { return if (binding.edtIFSC.text.toString().isEmpty()) { // EditText commonErrorAutoCompleteMethod( @@ -920,19 +1056,35 @@ class StepTwoBajajFDFragment : BaseFragment() { } } - private fun setUpRecyclerView() { - if ((activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.ClientBanklist?.isNotEmpty()!!) { - binding.rvClientBankList.layoutManager = - LinearLayoutManager(activity as BajajFdMainActivity) - bankListAdapter = BankListAdapter( - (activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.ClientBanklist, - (activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_ACCNO1 + private fun setUpRecyclerView( bankList: List?, + selectedAccount: String? = null) { + + + // This code is used to get the screen dimensions of the user's device + val displayMetrics = DisplayMetrics() + requireActivity().windowManager.defaultDisplay.getMetrics(displayMetrics) + val width = displayMetrics.widthPixels.toDouble() + val height = displayMetrics.heightPixels + + + binding.rvClientBankList.layoutManager = LinearLayoutManager( + mActivity, + LinearLayoutManager.HORIZONTAL, + false + ) + + + bankListAdapter = BankListAdapter( + bankList, + selectedAccount,width ) binding.rvClientBankList.adapter = bankListAdapter - } } + + + private fun datePicker(edtDOB: TextInputEditText) { val year = cal.get(Calendar.YEAR) val month = cal.get(Calendar.MONTH) @@ -1893,6 +2045,23 @@ class StepTwoBajajFDFragment : BaseFragment() { super.onDestroyView() _binding = null } + + +// private fun showHideBankDetail() { +// if (show_bank_details.getVisibility() == View.GONE) { +// show_bank_details.setVisibility(View.VISIBLE) +// addBankDetail.setCompoundDrawablesWithIntrinsicBounds( +// 0, +// 0, +// R.drawable.ic_minus_circle, +// 0 +// ) +// } else { +// show_bank_details.setVisibility(View.GONE) +// addBankDetail.setCompoundDrawablesWithIntrinsicBounds(0, 0, R.drawable.ic_add_icon, 0) +// } +// } + } diff --git a/app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepTwoBajajFDViewModel.kt b/app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepTwoBajajFDViewModel.kt index 7d5c39e..c6cb96a 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepTwoBajajFDViewModel.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepTwoBajajFDViewModel.kt @@ -170,4 +170,19 @@ class StepTwoBajajFDViewModel(private val mainRepository: MainRepository) : View } } + + + + val bankValidationApiMutableData: MutableLiveData> = MutableLiveData() + + fun bankValidationApi(bankValidationApiRequest : BankValidationApiRequest,token:String,activity : Activity) = viewModelScope.launch( + Common.handleError(activity) + ) { + if (Common.isNetworkAvailable(activity)) { + bankValidationApiMutableData.postValue(Resource.Loading()) + val response = mainRepository.bankValidationApiRequest(bankValidationApiRequest,token) + bankValidationApiMutableData.postValue(handleResponse(response)) + } + } + } \ No newline at end of file diff --git a/app/src/main/res/drawable/ic_minus.xml b/app/src/main/res/drawable/ic_minus.xml new file mode 100644 index 0000000..f465978 --- /dev/null +++ b/app/src/main/res/drawable/ic_minus.xml @@ -0,0 +1,5 @@ + + + diff --git a/app/src/main/res/layout/fragment_bajajfd_step_two.xml b/app/src/main/res/layout/fragment_bajajfd_step_two.xml index d8a03ba..bb1be44 100644 --- a/app/src/main/res/layout/fragment_bajajfd_step_two.xml +++ b/app/src/main/res/layout/fragment_bajajfd_step_two.xml @@ -1,5 +1,7 @@ - + android:layout_height="match_parent" + android:orientation="horizontal" + + + /> + android:text="@string/savingsAccount" + /> + android:text="@string/currentAccount" + /> @@ -949,6 +959,19 @@ + + + + Date: Thu, 5 Jan 2023 20:48:43 +0530 Subject: [PATCH 08/16] bank detail add --- .../ui/fragment/StepTwoBajajFDFragment.kt | 52 ++++++++++--------- 1 file changed, 27 insertions(+), 25 deletions(-) diff --git a/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepTwoBajajFDFragment.kt b/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepTwoBajajFDFragment.kt index 14e56cc..e1be879 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepTwoBajajFDFragment.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepTwoBajajFDFragment.kt @@ -44,6 +44,7 @@ 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 import com.nivesh.production.bajajfd.util.Common.Companion.removeError +import com.nivesh.production.bajajfd.util.Common.Companion.showDialogValidation import com.nivesh.production.bajajfd.util.Constants.Companion.token import com.nivesh.production.bajajfd.util.Resource import com.nivesh.production.bajajfd.viewModel.StepTwoBajajFDViewModel @@ -565,17 +566,12 @@ class StepTwoBajajFDFragment : BaseFragment() { } binding.addBankDetail.setOnClickListener { - if (binding.llBankDetails.visibility == View.GONE) { - binding.llBankDetails.visibility = View.VISIBLE - binding.addBankDetail.setCompoundDrawablesWithIntrinsicBounds(0,0,R.drawable.ic_minus,0) - + if (bankListAdapter.itemCount == 5) { + showDialogValidation(mActivity, "You Can Not Add More Than Five Account") } else { - binding.llBankDetails.visibility = View.GONE - binding.addBankDetail.setCompoundDrawablesWithIntrinsicBounds(0,0,R.drawable.ic_add_icon,0) - - - + showHideBankDetail() } + } @@ -977,18 +973,22 @@ class StepTwoBajajFDFragment : BaseFragment() { setUpRecyclerView( listOfBanks , clientBanklist.AccountNumber.toString()) + showHideBankDetail() + } else { - Common.showDialogValidation(activity as BajajFdMainActivity, getBankValidationApiResponse.Message) + showDialogValidation(activity as BajajFdMainActivity, getBankValidationApiResponse.Message) + showHideBankDetail() } } else -> { - Common.showDialogValidation(activity as BajajFdMainActivity, getBankValidationApiResponse.Message) + showDialogValidation(activity as BajajFdMainActivity, getBankValidationApiResponse.Message) + showHideBankDetail() @@ -2047,20 +2047,22 @@ class StepTwoBajajFDFragment : BaseFragment() { } -// private fun showHideBankDetail() { -// if (show_bank_details.getVisibility() == View.GONE) { -// show_bank_details.setVisibility(View.VISIBLE) -// addBankDetail.setCompoundDrawablesWithIntrinsicBounds( -// 0, -// 0, -// R.drawable.ic_minus_circle, -// 0 -// ) -// } else { -// show_bank_details.setVisibility(View.GONE) -// addBankDetail.setCompoundDrawablesWithIntrinsicBounds(0, 0, R.drawable.ic_add_icon, 0) -// } -// } + private fun showHideBankDetail() { + if (binding.llBankDetails.visibility == View.GONE) { + binding.llBankDetails.visibility = View.VISIBLE + binding.addBankDetail.setCompoundDrawablesWithIntrinsicBounds(0,0,R.drawable.ic_minus,0) + + } else { + binding.llBankDetails.visibility = View.GONE + binding.addBankDetail.setCompoundDrawablesWithIntrinsicBounds(0,0,R.drawable.ic_add_icon,0) + } + + + + + + + } } From 0ba5c14a4040f6fc2ee8e4d1d27dbf85490f8990 Mon Sep 17 00:00:00 2001 From: Hemant Khadase Date: Fri, 6 Jan 2023 13:33:54 +0530 Subject: [PATCH 09/16] minor changes --- .../ui/fragment/StepThreeBajajFDFragment.kt | 8 +-- .../ui/fragment/StepTwoBajajFDFragment.kt | 57 +++++++++---------- app/src/main/res/values-hi-rIN/strings.xml | 4 ++ app/src/main/res/values/strings.xml | 4 ++ 4 files changed, 40 insertions(+), 33 deletions(-) diff --git a/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepThreeBajajFDFragment.kt b/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepThreeBajajFDFragment.kt index 66778d7..fadd1e1 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepThreeBajajFDFragment.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepThreeBajajFDFragment.kt @@ -568,25 +568,25 @@ class StepThreeBajajFDFragment : BaseFragment() { if (panString.isEmpty()) { Common.showDialogValidation( activity as BajajFdMainActivity, - "Upload PAN Document" + getString(R.string.uploadPanDoc) ) return false } else if (photoString.isEmpty()) { Common.showDialogValidation( activity as BajajFdMainActivity, - "Upload Photo" + getString(R.string.uploadPhotoDoc) ) return false } else if (docString.isEmpty()) { Common.showDialogValidation( activity as BajajFdMainActivity, - "Upload $docValue Image" + "Upload $docValue Document" ) return false } else if (docValue == "Aadhar" && docString2.isEmpty()) { Common.showDialogValidation( activity as BajajFdMainActivity, - "Upload Aadhar Back Image" + getString(R.string.uploadAadharBackDoc) ) return false } diff --git a/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepTwoBajajFDFragment.kt b/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepTwoBajajFDFragment.kt index 6f7c801..d0b1b75 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepTwoBajajFDFragment.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepTwoBajajFDFragment.kt @@ -33,7 +33,6 @@ import com.nivesh.production.bajajfd.model.* import com.nivesh.production.bajajfd.repositories.MainRepository import com.nivesh.production.bajajfd.ui.activity.BajajFdMainActivity import com.nivesh.production.bajajfd.ui.providerfactory.StepTwoModelProviderFactory -import com.nivesh.production.bajajfd.util.Common import com.nivesh.production.bajajfd.util.Common.Companion.commonErrorAutoCompleteMethod import com.nivesh.production.bajajfd.util.Common.Companion.commonErrorMethod import com.nivesh.production.bajajfd.util.Common.Companion.commonSpinnerErrorMethod @@ -550,7 +549,7 @@ class StepTwoBajajFDFragment : BaseFragment() { binding.addBankDetail.setOnClickListener { if (bankListAdapter.itemCount == 5) { - showDialogValidation(mActivity, "You can not add more than five accounts") + showDialogValidation(mActivity, getString(R.string.fiveAccountValidation)) } else { showHideBankDetail() } @@ -753,7 +752,7 @@ class StepTwoBajajFDFragment : BaseFragment() { } // 650 -> refreshToken() else -> { - Common.showDialogValidation( + showDialogValidation( activity as BajajFdMainActivity, createFDApplicationResponse.Response.Errors[0].ErrorMessage ) @@ -764,7 +763,7 @@ class StepTwoBajajFDFragment : BaseFragment() { is Resource.Error -> { response.message?.let { message -> - Common.showDialogValidation(activity as BajajFdMainActivity, message) + showDialogValidation(activity as BajajFdMainActivity, message) } } is Resource.Loading -> { @@ -815,7 +814,7 @@ class StepTwoBajajFDFragment : BaseFragment() { } // 650 -> refreshToken() else -> { - Common.showDialogValidation( + showDialogValidation( activity as BajajFdMainActivity, getIFSCCodeListResponse.Response.message ) @@ -826,7 +825,7 @@ class StepTwoBajajFDFragment : BaseFragment() { is Resource.Error -> { response.message?.let { message -> - Common.showDialogValidation( + showDialogValidation( activity as BajajFdMainActivity, message ) @@ -865,7 +864,7 @@ class StepTwoBajajFDFragment : BaseFragment() { } is Resource.Error -> { response.message?.let { message -> - Common.showDialogValidation(activity as BajajFdMainActivity, message) + showDialogValidation(activity as BajajFdMainActivity, message) } } is Resource.Loading -> { @@ -953,7 +952,7 @@ class StepTwoBajajFDFragment : BaseFragment() { is Resource.Error -> { response.message?.let { message -> - Common.showDialogValidation(activity as BajajFdMainActivity, message) + showDialogValidation(activity as BajajFdMainActivity, message) } } is Resource.Loading -> { @@ -1088,7 +1087,7 @@ class StepTwoBajajFDFragment : BaseFragment() { is Resource.Error -> { response.message?.let { message -> - Common.showDialogValidation(activity as BajajFdMainActivity, message) + showDialogValidation(activity as BajajFdMainActivity, message) } } is Resource.Loading -> { @@ -1160,7 +1159,7 @@ class StepTwoBajajFDFragment : BaseFragment() { } // 650 -> refreshToken() else -> { - Common.showDialogValidation( + showDialogValidation( activity as BajajFdMainActivity, getCodeResponse.Response.Errors[0].ErrorMessage ) @@ -1171,7 +1170,7 @@ class StepTwoBajajFDFragment : BaseFragment() { is Resource.Error -> { response.message?.let { message -> - Common.showDialogValidation(activity as BajajFdMainActivity, message) + showDialogValidation(activity as BajajFdMainActivity, message) } } is Resource.Loading -> { @@ -1211,7 +1210,7 @@ class StepTwoBajajFDFragment : BaseFragment() { } // 650 -> refreshToken() else -> { - Common.showDialogValidation( + showDialogValidation( activity as BajajFdMainActivity, getCodeResponse.Response.Errors[0].ErrorMessage ) @@ -1222,7 +1221,7 @@ class StepTwoBajajFDFragment : BaseFragment() { is Resource.Error -> { response.message?.let { message -> - Common.showDialogValidation(activity as BajajFdMainActivity, message) + showDialogValidation(activity as BajajFdMainActivity, message) } } is Resource.Loading -> { @@ -1282,7 +1281,7 @@ class StepTwoBajajFDFragment : BaseFragment() { } // 650 -> refreshToken() else -> { - Common.showDialogValidation( + showDialogValidation( activity as BajajFdMainActivity, getCodeResponse.Response.Errors[0].ErrorMessage ) @@ -1293,7 +1292,7 @@ class StepTwoBajajFDFragment : BaseFragment() { is Resource.Error -> { response.message?.let { message -> - Common.showDialogValidation(activity as BajajFdMainActivity, message) + showDialogValidation(activity as BajajFdMainActivity, message) } } is Resource.Loading -> { @@ -1349,7 +1348,7 @@ class StepTwoBajajFDFragment : BaseFragment() { } // 650 -> refreshToken() else -> { - Common.showDialogValidation( + showDialogValidation( activity as BajajFdMainActivity, getCodeResponse.Response.Errors[0].ErrorMessage ) @@ -1360,7 +1359,7 @@ class StepTwoBajajFDFragment : BaseFragment() { is Resource.Error -> { response.message?.let { message -> - Common.showDialogValidation(activity as BajajFdMainActivity, message) + showDialogValidation(activity as BajajFdMainActivity, message) } } is Resource.Loading -> { @@ -1410,7 +1409,7 @@ class StepTwoBajajFDFragment : BaseFragment() { } // 650 -> refreshToken() else -> { - Common.showDialogValidation( + showDialogValidation( activity as BajajFdMainActivity, getCodeResponse.Response.Errors[0].ErrorMessage ) @@ -1421,7 +1420,7 @@ class StepTwoBajajFDFragment : BaseFragment() { is Resource.Error -> { response.message?.let { message -> - Common.showDialogValidation(activity as BajajFdMainActivity, message) + showDialogValidation(activity as BajajFdMainActivity, message) } } is Resource.Loading -> { @@ -1470,7 +1469,7 @@ class StepTwoBajajFDFragment : BaseFragment() { } // 650 -> refreshToken() else -> { - Common.showDialogValidation( + showDialogValidation( activity as BajajFdMainActivity, getCodeResponse.Response.Errors[0].ErrorMessage ) @@ -1481,7 +1480,7 @@ class StepTwoBajajFDFragment : BaseFragment() { is Resource.Error -> { response.message?.let { message -> - Common.showDialogValidation(activity as BajajFdMainActivity, message) + showDialogValidation(activity as BajajFdMainActivity, message) } } is Resource.Loading -> { @@ -1530,7 +1529,7 @@ class StepTwoBajajFDFragment : BaseFragment() { } // 650 -> refreshToken() else -> { - Common.showDialogValidation( + showDialogValidation( activity as BajajFdMainActivity, getCodeResponse.Response.Errors[0].ErrorMessage ) @@ -1541,7 +1540,7 @@ class StepTwoBajajFDFragment : BaseFragment() { is Resource.Error -> { response.message?.let { message -> - Common.showDialogValidation(activity as BajajFdMainActivity, message) + showDialogValidation(activity as BajajFdMainActivity, message) } } is Resource.Loading -> { @@ -1602,7 +1601,7 @@ class StepTwoBajajFDFragment : BaseFragment() { } // 650 -> refreshToken() else -> { - Common.showDialogValidation( + showDialogValidation( activity as BajajFdMainActivity, stateListResponse.response.message ) @@ -1613,7 +1612,7 @@ class StepTwoBajajFDFragment : BaseFragment() { is Resource.Error -> { response.message?.let { message -> - Common.showDialogValidation(activity as BajajFdMainActivity, message) + showDialogValidation(activity as BajajFdMainActivity, message) } } is Resource.Loading -> { @@ -1680,7 +1679,7 @@ class StepTwoBajajFDFragment : BaseFragment() { } // 650 -> refreshToken() else -> { - Common.showDialogValidation( + showDialogValidation( activity as BajajFdMainActivity, cityListResponse.response.message ) @@ -1691,7 +1690,7 @@ class StepTwoBajajFDFragment : BaseFragment() { is Resource.Error -> { response.message?.let { message -> - Common.showDialogValidation(activity as BajajFdMainActivity, message) + showDialogValidation(activity as BajajFdMainActivity, message) } } is Resource.Loading -> { @@ -1724,7 +1723,7 @@ class StepTwoBajajFDFragment : BaseFragment() { } // 650 -> refreshToken() else -> { - Common.showDialogValidation( + showDialogValidation( activity as BajajFdMainActivity, getFDBankListResponse.Response.Errors[0].ErrorMessage ) @@ -1735,7 +1734,7 @@ class StepTwoBajajFDFragment : BaseFragment() { is Resource.Error -> { response.message?.let { message -> - Common.showDialogValidation(activity as BajajFdMainActivity, message) + showDialogValidation(activity as BajajFdMainActivity, message) } } is Resource.Loading -> { diff --git a/app/src/main/res/values-hi-rIN/strings.xml b/app/src/main/res/values-hi-rIN/strings.xml index 19ed6ab..1d4f570 100644 --- a/app/src/main/res/values-hi-rIN/strings.xml +++ b/app/src/main/res/values-hi-rIN/strings.xml @@ -240,6 +240,10 @@ OK Cancel Aadhar + Upload PAN Document + Upload Photo Document + Upload Aadhar Back Document + You can not add more than five accounts \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 19ed6ab..1d4f570 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -240,6 +240,10 @@ OK Cancel Aadhar + Upload PAN Document + Upload Photo Document + Upload Aadhar Back Document + You can not add more than five accounts \ No newline at end of file From ca798b96a89a1c99366168a3f26a332569b19ac4 Mon Sep 17 00:00:00 2001 From: Hemant Khadase Date: Fri, 6 Jan 2023 14:47:08 +0530 Subject: [PATCH 10/16] added manoj code --- .../ui/fragment/StepThreeBajajFDFragment.kt | 73 +++++++++---------- .../ui/fragment/StepTwoBajajFDFragment.kt | 2 +- 2 files changed, 36 insertions(+), 39 deletions(-) diff --git a/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepThreeBajajFDFragment.kt b/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepThreeBajajFDFragment.kt index fadd1e1..056b57c 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepThreeBajajFDFragment.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepThreeBajajFDFragment.kt @@ -4,6 +4,7 @@ import android.Manifest import android.annotation.SuppressLint import android.app.ActionBar.LayoutParams import android.app.Dialog +import android.content.DialogInterface import android.content.pm.PackageManager import android.database.Cursor import android.graphics.Bitmap @@ -72,6 +73,8 @@ class StepThreeBajajFDFragment : BaseFragment() { private val mapImage: HashMap = HashMap() private lateinit var listOfDocType: List + private val check = arrayOf("Take Photo", "Choose from Gallery", "Cancel") + private val requestPermission = registerForActivityResult( ActivityResultContracts.RequestPermission() ) { isGranted: Boolean -> @@ -205,48 +208,42 @@ class StepThreeBajajFDFragment : BaseFragment() { } private fun selectImage() { - dialog = Dialog(activity as BajajFdMainActivity) - dialog.setContentView(R.layout.camera_gallery_layout) - val ivCut: ImageView = dialog.findViewById(R.id.ivCut) - val tvGallery: TextView = dialog.findViewById(R.id.tvGallery) - val tvCamera: TextView = dialog.findViewById(R.id.tvCamera) - - ivCut.setOnClickListener { - dialog.cancel() - } - - tvGallery.setOnClickListener { - dialog.cancel() - val permission = ContextCompat.checkSelfPermission( - activity as BajajFdMainActivity, - Manifest.permission.READ_EXTERNAL_STORAGE - ) - if (permission == PackageManager.PERMISSION_GRANTED) { - selectImageIntent?.launch("image/*") - } else { - requestPermission.launch( - Manifest.permission.READ_EXTERNAL_STORAGE - ) - } - } - - tvCamera.setOnClickListener { - dialog.cancel() - val permission = ContextCompat.checkSelfPermission( - activity as BajajFdMainActivity, - Manifest.permission.CAMERA - ) - if (permission == PackageManager.PERMISSION_GRANTED) { - takeImage() - } else { - requestPermission.launch( + val builder = AlertDialog.Builder( + mActivity!! + ) + builder.setTitle("Add Photo!") + builder.setItems(check + ) { dialog: DialogInterface, item: Int -> + if (check[item] == "Take Photo") { + val permission = ContextCompat.checkSelfPermission( + activity as BajajFdMainActivity, Manifest.permission.CAMERA ) + if (permission == PackageManager.PERMISSION_GRANTED) { + takeImage() + } else { + requestPermission.launch( + Manifest.permission.CAMERA + ) + } + dialog.dismiss() + } else if (check[item] == "Choose from Gallery") { + val permission = ContextCompat.checkSelfPermission( + activity as BajajFdMainActivity, + Manifest.permission.READ_EXTERNAL_STORAGE + ) + if (permission == PackageManager.PERMISSION_GRANTED) { + selectImageIntent?.launch("image/*") + } else { + requestPermission.launch( + Manifest.permission.READ_EXTERNAL_STORAGE + ) + } + } else if (check[item] == "Cancel") { + dialog.dismiss() } } - - dialog.show() - dialog.window?.setLayout(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT) + builder.show() } private fun setOtherUploadLayout(itemName: String?) { diff --git a/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepTwoBajajFDFragment.kt b/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepTwoBajajFDFragment.kt index c8d0056..f44458e 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepTwoBajajFDFragment.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepTwoBajajFDFragment.kt @@ -909,7 +909,7 @@ class StepTwoBajajFDFragment : BaseFragment() { } when (code) { 200 -> { - if (getBankValidationApiResponse.Message.equals("Account Verified")) { + if (getBankValidationApiResponse.Message == "Account Verified") { val clientBankList = ClientBanklist() clientBankList.AccountNumber = bankAccount clientBankList.AccountType = "sb" From b03ab207f4b568d1bd001c6fe6c1cf79507e0216 Mon Sep 17 00:00:00 2001 From: Hemant Khadase Date: Fri, 6 Jan 2023 15:45:03 +0530 Subject: [PATCH 11/16] api working of eligible bank --- .../bajajfd/interfaces/ApiInterface.kt | 2 +- .../bajajfd/repositories/MainRepository.kt | 4 +- .../ui/fragment/StepTwoBajajFDFragment.kt | 43 ++++++++++++++----- .../viewModel/StepTwoBajajFDViewModel.kt | 5 ++- .../res/layout/fragment_bajajfd_step_two.xml | 14 +++--- 5 files changed, 43 insertions(+), 25 deletions(-) diff --git a/app/src/main/java/com/nivesh/production/bajajfd/interfaces/ApiInterface.kt b/app/src/main/java/com/nivesh/production/bajajfd/interfaces/ApiInterface.kt index ece5279..740db9c 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/interfaces/ApiInterface.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/interfaces/ApiInterface.kt @@ -146,7 +146,7 @@ interface ApiInterface { ): Response @GET("GetFDBankList?FDProvider=Bajaj") - suspend fun bankListApi(@Header("token") token: String): Response + suspend fun bankListApi(@Header("token") token: String, @Query("Language") language : String): Response @GET("GetIFSC_Autofill?") suspend fun getIFSCApi(@Query("prefix") ifsc : String): Response diff --git a/app/src/main/java/com/nivesh/production/bajajfd/repositories/MainRepository.kt b/app/src/main/java/com/nivesh/production/bajajfd/repositories/MainRepository.kt index 5ba37a4..dae4441 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/repositories/MainRepository.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/repositories/MainRepository.kt @@ -74,8 +74,8 @@ class MainRepository constructor(private val apiInterface: ApiInterface) { suspend fun cityCheck(cityRequest: CityRequest, token: String) = apiInterface.cityApi(cityRequest, token) - suspend fun bankListCheck(token: String) = - apiInterface.bankListApi(token) + suspend fun bankListCheck(token: String, language: String) = + apiInterface.bankListApi(token, language) suspend fun ifscCodeCheck(str: String) = apiInterface.getIFSCApi(str) diff --git a/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepTwoBajajFDFragment.kt b/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepTwoBajajFDFragment.kt index f44458e..829ed81 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepTwoBajajFDFragment.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepTwoBajajFDFragment.kt @@ -33,6 +33,7 @@ import com.nivesh.production.bajajfd.model.* import com.nivesh.production.bajajfd.repositories.MainRepository import com.nivesh.production.bajajfd.ui.activity.BajajFdMainActivity import com.nivesh.production.bajajfd.ui.providerfactory.StepTwoModelProviderFactory +import com.nivesh.production.bajajfd.util.Common import com.nivesh.production.bajajfd.util.Common.Companion.commonErrorAutoCompleteMethod import com.nivesh.production.bajajfd.util.Common.Companion.commonErrorMethod import com.nivesh.production.bajajfd.util.Common.Companion.commonSpinnerErrorMethod @@ -132,7 +133,7 @@ class StepTwoBajajFDFragment : BaseFragment() { } binding.edtDOB.setOnClickListener { removeError(binding.tlDOB) - datePicker(binding.edtDOB) + datePicker(binding.edtDOB, 1) } @@ -390,7 +391,7 @@ class StepTwoBajajFDFragment : BaseFragment() { } binding.edtNomineeDOB.setOnClickListener { removeError(binding.tlNomineeDOB) - datePicker(binding.edtNomineeDOB) + datePicker(binding.edtNomineeDOB, 2) } binding.spNomineeRelation.setText( @@ -401,9 +402,6 @@ class StepTwoBajajFDFragment : BaseFragment() { binding.spNomineeRelation.setOnItemClickListener { _, _, _, _ -> removeError(binding.tlNomineeRelation) } - binding.cbNomineeSameAddress.setOnCheckedChangeListener { _, _ -> - - } // Guardian Details binding.edtGuardianName.addTextChangedListener(object : TextWatcher { @@ -663,7 +661,7 @@ class StepTwoBajajFDFragment : BaseFragment() { (activity as BajajFdMainActivity).nomineeDetails.NomineePincode = 0 // Applicant Nominee Guardian Details - (activity as BajajFdMainActivity).nomineeGuardianDetails.GuardianSalutation = "" + (activity as BajajFdMainActivity).nomineeGuardianDetails.GuardianSalutation = binding.spGuardianRelation.text.toString() (activity as BajajFdMainActivity).nomineeGuardianDetails.GuardianName = binding.edtGuardianName.text.toString() if (binding.edtGuardianAge.text.toString().isEmpty()) { @@ -685,8 +683,7 @@ class StepTwoBajajFDFragment : BaseFragment() { (activity as BajajFdMainActivity).nomineeGuardianDetails.GuardianAddress1 = binding.edtGuardianAddress.text.toString() (activity as BajajFdMainActivity).nomineeGuardianDetails.GuardianAddress2 = "" - (activity as BajajFdMainActivity).nomineeGuardianDetails.GuardianAddress3 = - binding.spGuardianRelation.text.toString() + (activity as BajajFdMainActivity).nomineeGuardianDetails.GuardianAddress3 = "" // Applicant Bank Details (activity as BajajFdMainActivity).fdBankDetails.AccountType = @@ -930,6 +927,7 @@ class StepTwoBajajFDFragment : BaseFragment() { clientBankList.AccountNumber.toString() ) showHideBankDetail() + } else { showDialogValidation( activity as BajajFdMainActivity, @@ -1016,7 +1014,7 @@ class StepTwoBajajFDFragment : BaseFragment() { binding.rvClientBankList.adapter = bankListAdapter } - private fun datePicker(edtDOB: TextInputEditText) { + private fun datePicker(edtDOB: TextInputEditText, number : Int) { val year = cal.get(Calendar.YEAR) val month = cal.get(Calendar.MONTH) val day = cal.get(Calendar.DAY_OF_MONTH) @@ -1030,6 +1028,15 @@ class StepTwoBajajFDFragment : BaseFragment() { .plus(dayOfMonth.toString()) ) edtDOB.setSelection(edtDOB.text.toString().length) + if (number == 2){ + if (isMinor(years.toString().plus("-").plus(monthOfYear + 1).plus("-") + .plus(dayOfMonth.toString())) + ){ + guardianCodeVisibility(View.VISIBLE) + }else{ + guardianCodeVisibility(View.GONE) + } + } }, year, month, day ) datePickerDialog.datePicker.maxDate = cal.timeInMillis @@ -1039,6 +1046,15 @@ class StepTwoBajajFDFragment : BaseFragment() { datePickerDialog.show() } + private fun guardianCodeVisibility(visibility: Int) { + binding.tlGuardianName.visibility = visibility + binding.tlGuardianName.visibility = visibility + binding.tlGuardianName.visibility = visibility + binding.tlGuardianName.visibility = visibility + binding.tlGuardianName.visibility = visibility + + } + private fun panCheckApi() { val panCheck = PanCheckRequest() panCheck.clientCode = @@ -1703,7 +1719,7 @@ class StepTwoBajajFDFragment : BaseFragment() { } private fun apiForEligibleBankList() { - stepTwoBajajFDViewModel.bankListApi(token, activity as BajajFdMainActivity) + stepTwoBajajFDViewModel.bankListApi(token,getString(R.string.language), activity as BajajFdMainActivity) stepTwoBajajFDViewModel.getFDBankListMutableData.observe(viewLifecycleOwner) { response -> when (response) { is Resource.Success -> { @@ -1720,7 +1736,7 @@ class StepTwoBajajFDFragment : BaseFragment() { dialogForBankList(getFDBankListResponse.Response.BankList) } } - // 650 -> refreshToken() + 650 -> refreshToken() else -> { showDialogValidation( activity as BajajFdMainActivity, @@ -1746,6 +1762,11 @@ class StepTwoBajajFDFragment : BaseFragment() { } } + private fun refreshToken() { + + + } + private fun dialogForBankList(bankList: List) { val dialog = Dialog(activity as BajajFdMainActivity) dialog.setContentView(R.layout.layout_bank_list) diff --git a/app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepTwoBajajFDViewModel.kt b/app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepTwoBajajFDViewModel.kt index 2f957dc..7a8d89a 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepTwoBajajFDViewModel.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepTwoBajajFDViewModel.kt @@ -13,6 +13,7 @@ import com.nivesh.production.bajajfd.util.Common.Companion.handleResponse1 import com.nivesh.production.bajajfd.util.Constants.Companion.token import com.nivesh.production.bajajfd.util.Resource import kotlinx.coroutines.launch +import org.intellij.lang.annotations.Language class StepTwoBajajFDViewModel(private val mainRepository: MainRepository) : ViewModel() { @@ -117,12 +118,12 @@ class StepTwoBajajFDViewModel(private val mainRepository: MainRepository) : View } val getFDBankListMutableData: MutableLiveData> = MutableLiveData() - fun bankListApi( token: String,activity : Activity) = viewModelScope.launch( + fun bankListApi( token: String,language: String, activity : Activity) = viewModelScope.launch( Common.handleError(activity) ) { if (Common.isNetworkAvailable(activity)) { getFDBankListMutableData.postValue(Resource.Loading()) - val response = mainRepository.bankListCheck(token) + val response = mainRepository.bankListCheck(token, language) getFDBankListMutableData.postValue(handleResponse(response)) } } diff --git a/app/src/main/res/layout/fragment_bajajfd_step_two.xml b/app/src/main/res/layout/fragment_bajajfd_step_two.xml index bb1be44..bc5145b 100644 --- a/app/src/main/res/layout/fragment_bajajfd_step_two.xml +++ b/app/src/main/res/layout/fragment_bajajfd_step_two.xml @@ -705,16 +705,9 @@ - - - Date: Fri, 6 Jan 2023 16:11:38 +0530 Subject: [PATCH 12/16] added paymentrequery api after trasaction --- .../bajajfd/interfaces/ApiInterface.kt | 2 +- .../bajajfd/model/PaymentReQueryRequest.kt | 6 ++ .../bajajfd/model/PaymentReQueryResponse.kt | 5 ++ .../bajajfd/model/ResponseXXXXXXXXXXXXXXX.kt | 8 ++ .../bajajfd/repositories/MainRepository.kt | 4 +- .../ui/activity/BajajFdMainActivity.kt | 83 ++++++++++++++----- .../ui/fragment/StepFiveBajajFDFragment.kt | 4 + .../bajajfd/viewModel/BajajFDViewModel.kt | 11 +++ 8 files changed, 98 insertions(+), 25 deletions(-) create mode 100644 app/src/main/java/com/nivesh/production/bajajfd/model/PaymentReQueryRequest.kt create mode 100644 app/src/main/java/com/nivesh/production/bajajfd/model/PaymentReQueryResponse.kt create mode 100644 app/src/main/java/com/nivesh/production/bajajfd/model/ResponseXXXXXXXXXXXXXXX.kt diff --git a/app/src/main/java/com/nivesh/production/bajajfd/interfaces/ApiInterface.kt b/app/src/main/java/com/nivesh/production/bajajfd/interfaces/ApiInterface.kt index 740db9c..4a7b331 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/interfaces/ApiInterface.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/interfaces/ApiInterface.kt @@ -64,7 +64,7 @@ interface ApiInterface { @POST("PaymentRequery") suspend fun paymentReQuery( - @Body requestBody: RequestBody, + @Body requestBody: PaymentReQueryRequest, @Header("token") token: String ): Response diff --git a/app/src/main/java/com/nivesh/production/bajajfd/model/PaymentReQueryRequest.kt b/app/src/main/java/com/nivesh/production/bajajfd/model/PaymentReQueryRequest.kt new file mode 100644 index 0000000..b7391d7 --- /dev/null +++ b/app/src/main/java/com/nivesh/production/bajajfd/model/PaymentReQueryRequest.kt @@ -0,0 +1,6 @@ +package com.nivesh.production.bajajfd.model + +data class PaymentReQueryRequest( + var NiveshClientCode: String? = "", + var UniqueId: String? = "" +) \ No newline at end of file diff --git a/app/src/main/java/com/nivesh/production/bajajfd/model/PaymentReQueryResponse.kt b/app/src/main/java/com/nivesh/production/bajajfd/model/PaymentReQueryResponse.kt new file mode 100644 index 0000000..82d78d9 --- /dev/null +++ b/app/src/main/java/com/nivesh/production/bajajfd/model/PaymentReQueryResponse.kt @@ -0,0 +1,5 @@ +package com.nivesh.production.bajajfd.model + +data class PaymentReQueryResponse( + val Response: ResponseXXXXXXXXXXXXXXX +) \ No newline at end of file diff --git a/app/src/main/java/com/nivesh/production/bajajfd/model/ResponseXXXXXXXXXXXXXXX.kt b/app/src/main/java/com/nivesh/production/bajajfd/model/ResponseXXXXXXXXXXXXXXX.kt new file mode 100644 index 0000000..02339b2 --- /dev/null +++ b/app/src/main/java/com/nivesh/production/bajajfd/model/ResponseXXXXXXXXXXXXXXX.kt @@ -0,0 +1,8 @@ +package com.nivesh.production.bajajfd.model + +data class ResponseXXXXXXXXXXXXXXX( + val Errors: List, + val Message: String, + val Status: String, + val StatusCode: Int +) \ No newline at end of file diff --git a/app/src/main/java/com/nivesh/production/bajajfd/repositories/MainRepository.kt b/app/src/main/java/com/nivesh/production/bajajfd/repositories/MainRepository.kt index dae4441..81ab7a2 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/repositories/MainRepository.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/repositories/MainRepository.kt @@ -44,8 +44,8 @@ class MainRepository constructor(private val apiInterface: ApiInterface) { suspend fun finaliseKYCResponse(getRatesRequest: GetRatesRequest, token: String) = apiInterface.getRates(getRatesRequest, token) - suspend fun paymentReQueryResponse(getRatesRequest: GetRatesRequest, token: String) = - apiInterface.getRates(getRatesRequest, token) + suspend fun paymentReQueryResponse(getRatesRequest: PaymentReQueryRequest, token: String) = + apiInterface.paymentReQuery(getRatesRequest, token) suspend fun panCheck(panCheck: PanCheckRequest, token: String) = apiInterface.panCheckApi(panCheck, token) diff --git a/app/src/main/java/com/nivesh/production/bajajfd/ui/activity/BajajFdMainActivity.kt b/app/src/main/java/com/nivesh/production/bajajfd/ui/activity/BajajFdMainActivity.kt index 598740c..4083daf 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/ui/activity/BajajFdMainActivity.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/ui/activity/BajajFdMainActivity.kt @@ -1,15 +1,12 @@ 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 @@ -88,8 +85,7 @@ class BajajFdMainActivity : BaseActivity() { val fdStepsCount = FDStepsCountRequest() fdStepsCount.FDProvider = getString(R.string.bajaj) fdStepsCount.NiveshClientCode = "8872" - //hemant client code =8872 /60476 - + // client code =8872 /60476 viewModel.getStepsCount(fdStepsCount, token, this) viewModel.getStepsCountMutableData.observe(this) { response -> when (response) { @@ -106,7 +102,7 @@ class BajajFdMainActivity : BaseActivity() { stepCount = stepsCountResponse.Response.StepsCount getClientDetailsApi(stepsCountResponse.Response.StepsCount) } - 650 -> refreshToken(fdStepsCount) + 650 -> refreshToken("") else -> { showDialogValidation( this@BajajFdMainActivity, @@ -132,10 +128,63 @@ class BajajFdMainActivity : BaseActivity() { } } - private fun refreshToken(fdStepsCount: FDStepsCountRequest) { + private fun paymentReQueryApi() { + if (Common.isNetworkAvailable(this)) { + val paymentReQueryRequest = PaymentReQueryRequest() + paymentReQueryRequest.UniqueId = "" + paymentReQueryRequest.NiveshClientCode = + getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_CODE + // client code =8872 /60476 + + viewModel.getPaymentReQuery(paymentReQueryRequest, token, this) + viewModel.getPaymentReQueryMutableData.observe(this) { response -> + when (response) { + is Resource.Success -> { + Log.e("response", "-->$response") + val paymentReQueryResponse: PaymentReQueryResponse = + Gson().fromJson( + response.data?.toString(), + PaymentReQueryResponse::class.java + ) + paymentReQueryResponse.Response.StatusCode.let { code -> + when (code) { + 200 -> { + if (stepCount == 4) { + binding.viewPager.currentItem = 4 + } else { + binding.viewPager.currentItem = 3 + } + stepFiveBajajFDFragment.getData() + } + 650 -> refreshToken("") + else -> { + showDialogValidation( + this@BajajFdMainActivity, + paymentReQueryResponse.Response.Errors[0].ErrorMessage + ) + } + } + } + } + is Resource.Error -> { + response.message?.let { message -> + showDialogValidation(this@BajajFdMainActivity, message) + } + } + is Resource.Loading -> { + + } + is Resource.DataError -> { + } + } + } + } } + private fun refreshToken(fdStepsCount: String) { + + } private fun getClientDetailsApi(stepsCount: Int) { if (Common.isNetworkAvailable(this@BajajFdMainActivity)) { @@ -143,10 +192,7 @@ class BajajFdMainActivity : BaseActivity() { getClientDetailsRequest.client_code = "8872" getClientDetailsRequest.AppOrWeb = getString(R.string.app) getClientDetailsRequest.sub_broker_code = "1038" - - //hemant 8872/1038 - - + // 8872/1038 val userRequest = UserRequest() userRequest.UID = 0 userRequest.IPAddress = "" @@ -206,7 +252,6 @@ class BajajFdMainActivity : BaseActivity() { } } - private fun setViewPager(stepsCount: Int) { // steps setting setBackground(selectedShape(), defaultShape(), defaultShape(), defaultShape()) @@ -352,7 +397,6 @@ class BajajFdMainActivity : BaseActivity() { } - // set background for selected/ default step private fun setBackground( drawable: Drawable?, @@ -367,13 +411,13 @@ class BajajFdMainActivity : BaseActivity() { } // step 1 response - fun stepOneApi(data: String?) { + fun stepOneApi(data: String?) { Log.e("stepOneApi", " response ---> $data") binding.viewPager.currentItem = 1 } // step 2 response - fun stepTwoApi(data: CreateFDApplicationResponse) { + fun stepTwoApi(data: CreateFDApplicationResponse) { Log.e("stepTwoApi", " response ---> " + Gson().toJson(data)) binding.viewPager.currentItem = 2 stepThreeBajajFDFragment.displayReceivedData(data) @@ -381,7 +425,7 @@ class BajajFdMainActivity : BaseActivity() { // step 3 response - fun stepThreeApi(data: CreateFDApplicationResponse) { + fun stepThreeApi(data: CreateFDApplicationResponse) { Log.e("stepThreeApi", " response --->" + Gson().toJson(data)) // call create fd api binding.viewPager.currentItem = 3 @@ -389,7 +433,7 @@ class BajajFdMainActivity : BaseActivity() { } // step 4 response - fun stepFourApi(payUrl: String, value: String) { + fun stepFourApi(payUrl: String, value: String) { paymentDialog(payUrl, value) } @@ -431,15 +475,10 @@ class BajajFdMainActivity : BaseActivity() { 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) } - } - } \ No newline at end of file diff --git a/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepFiveBajajFDFragment.kt b/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepFiveBajajFDFragment.kt index cbde8cb..ceb6f7d 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepFiveBajajFDFragment.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepFiveBajajFDFragment.kt @@ -38,6 +38,10 @@ class StepFiveBajajFDFragment : Fragment() { return root } + fun getData(){ + + } + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) stepFiveBajajFDViewModel = ViewModelProvider( diff --git a/app/src/main/java/com/nivesh/production/bajajfd/viewModel/BajajFDViewModel.kt b/app/src/main/java/com/nivesh/production/bajajfd/viewModel/BajajFDViewModel.kt index 5cee438..732aba4 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/viewModel/BajajFDViewModel.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/viewModel/BajajFDViewModel.kt @@ -49,4 +49,15 @@ class BajajFDViewModel(private val mainRepository: MainRepository) : ViewModel() } } + + val getPaymentReQueryMutableData: MutableLiveData> = MutableLiveData() + fun getPaymentReQuery(requestBody: PaymentReQueryRequest, token : String, activity: Activity) = viewModelScope.launch(handleError(activity)) { + if (Common.isNetworkAvailable(activity)) { + getPaymentReQueryMutableData.postValue(Resource.Loading()) + val response = mainRepository.paymentReQueryResponse(requestBody, token) + getPaymentReQueryMutableData.postValue(handleResponse(response)) + } + } + + } \ No newline at end of file From ee12b51ad9b031652f5136cdb43fec15ded9eb7d Mon Sep 17 00:00:00 2001 From: Hemant Khadase Date: Fri, 6 Jan 2023 16:28:23 +0530 Subject: [PATCH 13/16] unique id handling --- .../ui/activity/BajajFdMainActivity.kt | 107 +++++++++--------- .../ui/fragment/StepThreeBajajFDFragment.kt | 4 +- .../ui/fragment/StepTwoBajajFDFragment.kt | 3 +- 3 files changed, 57 insertions(+), 57 deletions(-) diff --git a/app/src/main/java/com/nivesh/production/bajajfd/ui/activity/BajajFdMainActivity.kt b/app/src/main/java/com/nivesh/production/bajajfd/ui/activity/BajajFdMainActivity.kt index 4083daf..70a50f4 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/ui/activity/BajajFdMainActivity.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/ui/activity/BajajFdMainActivity.kt @@ -50,7 +50,7 @@ class BajajFdMainActivity : BaseActivity() { var nomineeDetails: NomineeDetails = NomineeDetails() var nomineeGuardianDetails: NomineeGuardianDetails = NomineeGuardianDetails() var getClientDetailsResponse: getClientDetailsResponse = getClientDetailsResponse() - + var UniqueId :String = "" private var stepCount: Int = 0 private lateinit var sectionsPagerAdapter: SectionsPagerAdapter private lateinit var fragments: Array @@ -128,59 +128,6 @@ class BajajFdMainActivity : BaseActivity() { } } - private fun paymentReQueryApi() { - if (Common.isNetworkAvailable(this)) { - val paymentReQueryRequest = PaymentReQueryRequest() - paymentReQueryRequest.UniqueId = "" - paymentReQueryRequest.NiveshClientCode = - getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_CODE - // client code =8872 /60476 - - viewModel.getPaymentReQuery(paymentReQueryRequest, token, this) - viewModel.getPaymentReQueryMutableData.observe(this) { response -> - when (response) { - is Resource.Success -> { - Log.e("response", "-->$response") - val paymentReQueryResponse: PaymentReQueryResponse = - Gson().fromJson( - response.data?.toString(), - PaymentReQueryResponse::class.java - ) - paymentReQueryResponse.Response.StatusCode.let { code -> - when (code) { - 200 -> { - if (stepCount == 4) { - binding.viewPager.currentItem = 4 - } else { - binding.viewPager.currentItem = 3 - } - stepFiveBajajFDFragment.getData() - } - 650 -> refreshToken("") - else -> { - showDialogValidation( - this@BajajFdMainActivity, - paymentReQueryResponse.Response.Errors[0].ErrorMessage - ) - } - } - } - } - is Resource.Error -> { - response.message?.let { message -> - showDialogValidation(this@BajajFdMainActivity, message) - } - } - is Resource.Loading -> { - - } - is Resource.DataError -> { - - } - } - } - } - } private fun refreshToken(fdStepsCount: String) { @@ -481,4 +428,56 @@ class BajajFdMainActivity : BaseActivity() { super.onPageFinished(view, url) } } + + private fun paymentReQueryApi() { + if (Common.isNetworkAvailable(this)) { + val paymentReQueryRequest = PaymentReQueryRequest() + paymentReQueryRequest.UniqueId = UniqueId + paymentReQueryRequest.NiveshClientCode = getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_CODE + viewModel.getPaymentReQuery(paymentReQueryRequest, token, this) + viewModel.getPaymentReQueryMutableData.observe(this) { response -> + when (response) { + is Resource.Success -> { + Log.e("response", "-->$response") + val paymentReQueryResponse: PaymentReQueryResponse = + Gson().fromJson( + response.data?.toString(), + PaymentReQueryResponse::class.java + ) + paymentReQueryResponse.Response.StatusCode.let { code -> + when (code) { + 200 -> { + if (stepCount == 4) { + binding.viewPager.currentItem = 4 + } else { + binding.viewPager.currentItem = 3 + } + stepFiveBajajFDFragment.getData() + } + 650 -> refreshToken("") + else -> { + showDialogValidation( + this@BajajFdMainActivity, + paymentReQueryResponse.Response.Errors[0].ErrorMessage + ) + } + } + } + } + is Resource.Error -> { + response.message?.let { message -> + showDialogValidation(this@BajajFdMainActivity, message) + } + } + is Resource.Loading -> { + + } + is Resource.DataError -> { + + } + } + } + } + } + } \ No newline at end of file diff --git a/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepThreeBajajFDFragment.kt b/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepThreeBajajFDFragment.kt index a936bba..74c782d 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepThreeBajajFDFragment.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepThreeBajajFDFragment.kt @@ -2,7 +2,6 @@ package com.nivesh.production.bajajfd.ui.fragment import android.Manifest import android.annotation.SuppressLint -import android.app.ActionBar.LayoutParams import android.app.Dialog import android.content.DialogInterface import android.content.pm.PackageManager @@ -213,7 +212,8 @@ class StepThreeBajajFDFragment : BaseFragment() { mActivity!! ) builder.setTitle("Add Photo!") - builder.setItems(check + builder.setItems( + check ) { dialog: DialogInterface, item: Int -> if (check[item] == "Take Photo") { val permission = ContextCompat.checkSelfPermission( diff --git a/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepTwoBajajFDFragment.kt b/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepTwoBajajFDFragment.kt index 829ed81..bb96c60 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepTwoBajajFDFragment.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepTwoBajajFDFragment.kt @@ -710,7 +710,7 @@ class StepTwoBajajFDFragment : BaseFragment() { (activity as BajajFdMainActivity).createFDApplicantRequest.NomineeGuardianDetails = (activity as BajajFdMainActivity).nomineeGuardianDetails - (activity as BajajFdMainActivity).createFDApplicantRequest.UniqueId = "" + (activity as BajajFdMainActivity).createFDApplicantRequest.UniqueId = (activity as BajajFdMainActivity).UniqueId (activity as BajajFdMainActivity).createFDRequest.CreateFDApplicationRequest = (activity as BajajFdMainActivity).createFDApplicantRequest @@ -742,6 +742,7 @@ class StepTwoBajajFDFragment : BaseFragment() { createFDApplicationResponse.Response.StatusCode.let { code -> when (code) { 200 -> { + (activity as BajajFdMainActivity).UniqueId = createFDApplicationResponse.Response.FDCreationDetailsResponse.UniqueId (activity as BajajFdMainActivity).stepTwoApi( createFDApplicationResponse ) From 35e4eab36fc1343765d79e23cafe020f8bda0974 Mon Sep 17 00:00:00 2001 From: Hemant Khadase Date: Fri, 6 Jan 2023 19:48:27 +0530 Subject: [PATCH 14/16] added minor changes --- .../model/CreateFDApplicationRequest.kt | 4 +- .../bajajfd/model/FDInvestmentDetails.kt | 4 +- .../ui/activity/BajajFdMainActivity.kt | 88 +++++++++---------- .../ui/fragment/StepFiveBajajFDFragment.kt | 23 ++--- .../ui/fragment/StepFourBajajFDFragment.kt | 59 ++++++++----- .../ui/fragment/StepOneBajajFDFragment.kt | 1 + .../ui/fragment/StepTwoBajajFDFragment.kt | 1 - .../viewModel/StepFourBajajFDViewModel.kt | 7 +- .../res/layout/fragment_bajajfd_step_five.xml | 2 +- .../res/layout/fragment_bajajfd_step_four.xml | 2 - 10 files changed, 96 insertions(+), 95 deletions(-) diff --git a/app/src/main/java/com/nivesh/production/bajajfd/model/CreateFDApplicationRequest.kt b/app/src/main/java/com/nivesh/production/bajajfd/model/CreateFDApplicationRequest.kt index 5c0e70e..a5c8d1e 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/model/CreateFDApplicationRequest.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/model/CreateFDApplicationRequest.kt @@ -6,7 +6,5 @@ data class CreateFDApplicationRequest( var FDInvestmentDetails: FDInvestmentDetails? = null, var FdBankDetails: FdBankDetails? = null, var NomineeDetails: NomineeDetails? = null, - var NomineeGuardianDetails: NomineeGuardianDetails ? = null, - var UniqueId: String? = "" - + var NomineeGuardianDetails: NomineeGuardianDetails ? = null ) \ No newline at end of file diff --git a/app/src/main/java/com/nivesh/production/bajajfd/model/FDInvestmentDetails.kt b/app/src/main/java/com/nivesh/production/bajajfd/model/FDInvestmentDetails.kt index 060bb45..276ca56 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/model/FDInvestmentDetails.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/model/FDInvestmentDetails.kt @@ -12,5 +12,7 @@ data class FDInvestmentDetails( var NiveshClientCode: String? = null, var Provider: String? = null, var Source: String? = null, - var Tenure: Int? = 0 + var Tenure: Int? = 0, + var UniqueId: String? = "" + ) \ No newline at end of file diff --git a/app/src/main/java/com/nivesh/production/bajajfd/ui/activity/BajajFdMainActivity.kt b/app/src/main/java/com/nivesh/production/bajajfd/ui/activity/BajajFdMainActivity.kt index 70a50f4..3758c57 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/ui/activity/BajajFdMainActivity.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/ui/activity/BajajFdMainActivity.kt @@ -1,12 +1,15 @@ 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 @@ -28,7 +31,6 @@ import com.nivesh.production.bajajfd.util.Common.Companion.showDialogValidation import com.nivesh.production.bajajfd.util.Constants.Companion.token import com.nivesh.production.bajajfd.util.Resource import com.nivesh.production.bajajfd.viewModel.* -import java.net.URLEncoder class BajajFdMainActivity : BaseActivity() { @@ -50,10 +52,12 @@ class BajajFdMainActivity : BaseActivity() { var nomineeDetails: NomineeDetails = NomineeDetails() var nomineeGuardianDetails: NomineeGuardianDetails = NomineeGuardianDetails() var getClientDetailsResponse: getClientDetailsResponse = getClientDetailsResponse() - var UniqueId :String = "" + var UniqueId: String = "" private var stepCount: Int = 0 private lateinit var sectionsPagerAdapter: SectionsPagerAdapter private lateinit var fragments: Array + var dialogWebView: Dialog? = null + var LoginRole: Int = 0 override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) @@ -71,6 +75,7 @@ class BajajFdMainActivity : BaseActivity() { FDModelProviderFactory(MainRepository(ApiClient.getApiClient)) )[BajajFDViewModel::class.java] + LoginRole = 5 if (Common.isNetworkAvailable(this)) { getStepsCountApi() } @@ -145,7 +150,7 @@ class BajajFdMainActivity : BaseActivity() { userRequest.IPAddress = "" userRequest.Source = getString(R.string.source) userRequest.AppOrWeb = getString(R.string.app) - userRequest.LoggedInRoleId = 5 + userRequest.LoggedInRoleId = LoginRole val deviceInfo = DeviceInfo() deviceInfo.device_id = "" @@ -370,7 +375,6 @@ class BajajFdMainActivity : BaseActivity() { stepThreeBajajFDFragment.displayReceivedData(data) } - // step 3 response fun stepThreeApi(data: CreateFDApplicationResponse) { Log.e("stepThreeApi", " response --->" + Gson().toJson(data)) @@ -388,52 +392,48 @@ class BajajFdMainActivity : BaseActivity() { 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(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(R.id.wVPay) -// wVPay.webViewClient = MyWebViewClient() -// wVPay.settings.javaScriptEnabled = true -// wVPay.settings.domStorageEnabled = true -// val postData = "name=${URLEncoder.encode("msg", "UTF-8")}" + -// "&value=${URLEncoder.encode(value, "UTF-8")}" -// wVPay.postUrl(payUrl, postData.toByteArray()) -// dialogWebView.show() - - val webView = WebView(this@BajajFdMainActivity) - setContentView(webView) - val postData = "name=${URLEncoder.encode("msg", "UTF-8")}" + - "&value=${URLEncoder.encode(value, "UTF-8")}" - webView.postUrl(payUrl, postData.toByteArray()) - } - - class MyWebViewClient : WebViewClient() { - override fun onPageStarted(view: WebView, url: String, favicon: Bitmap?) { - super.onPageStarted(view, url, favicon) - Log.e("onPageStarted", "-->$url") + dialogWebView = Dialog(this@BajajFdMainActivity) + dialogWebView!!.setContentView(R.layout.row_fd_pay) + dialogWebView!!.setCancelable(true) + val tvCancel = dialogWebView!!.findViewById(R.id.tvCancel) + tvCancel.setOnClickListener { + dialogWebView!!.dismiss() } - - override fun onPageFinished(view: WebView, url: String) { - super.onPageFinished(view, url) + 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(R.id.wVPay) + wVPay.settings.javaScriptEnabled = true + wVPay.settings.domStorageEnabled = true + wVPay.loadData( + "
\n" + " \n" + "
\n" + + "", + "text/html", + "UTF-8" + ) + wVPay.webViewClient = object : WebViewClient() { + override fun onPageStarted(view: WebView, url: String, favicon: Bitmap?) { + super.onPageStarted(view, url, favicon) + Log.e("onPageStarted", "-->$url") + if (url.isNotEmpty() && url.contains("https://uat.nivesh.com/bajajFD/OrderStatus")) { + if (dialogWebView != null && dialogWebView!!.isShowing) { + dialogWebView!!.dismiss() + paymentReQueryApi() + } + } + } } + dialogWebView!!.show() } - private fun paymentReQueryApi() { + fun paymentReQueryApi() { if (Common.isNetworkAvailable(this)) { val paymentReQueryRequest = PaymentReQueryRequest() paymentReQueryRequest.UniqueId = UniqueId - paymentReQueryRequest.NiveshClientCode = getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_CODE + paymentReQueryRequest.NiveshClientCode = + getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_CODE viewModel.getPaymentReQuery(paymentReQueryRequest, token, this) viewModel.getPaymentReQueryMutableData.observe(this) { response -> when (response) { @@ -452,7 +452,7 @@ class BajajFdMainActivity : BaseActivity() { } else { binding.viewPager.currentItem = 3 } - stepFiveBajajFDFragment.getData() + stepFiveBajajFDFragment.getData(paymentReQueryResponse) } 650 -> refreshToken("") else -> { diff --git a/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepFiveBajajFDFragment.kt b/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepFiveBajajFDFragment.kt index ceb6f7d..aba6808 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepFiveBajajFDFragment.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepFiveBajajFDFragment.kt @@ -8,6 +8,7 @@ import androidx.fragment.app.Fragment import androidx.lifecycle.ViewModelProvider import com.nivesh.production.bajajfd.api.ApiClient import com.nivesh.production.bajajfd.databinding.FragmentBajajfdStepFiveBinding +import com.nivesh.production.bajajfd.model.PaymentReQueryResponse import com.nivesh.production.bajajfd.repositories.MainRepository import com.nivesh.production.bajajfd.ui.providerfactory.StepFiveModelProviderFactory import com.nivesh.production.bajajfd.viewModel.StepFiveBajajFDViewModel @@ -22,23 +23,12 @@ class StepFiveBajajFDFragment : Fragment() { inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle? ): View { - _binding = FragmentBajajfdStepFiveBinding.inflate(inflater, container, false) - val root = binding.root - -// val textView: TextView = binding.sectionLabel -// stepFourViewModel.text.observe(viewLifecycleOwner) { -// textView.text = it -// } -// -// binding.btnClick.setOnClickListener { -// bajajFDInterface.stepFourApi("stepFourResponse") -// } - - return root + return binding.root } - fun getData(){ + fun getData(paymentReQueryResponse: PaymentReQueryResponse) { + } @@ -48,6 +38,11 @@ class StepFiveBajajFDFragment : Fragment() { this, StepFiveModelProviderFactory(MainRepository(ApiClient.getApiClient)) )[StepFiveBajajFDViewModel::class.java] + + binding.btnViewOrder.setOnClickListener { + + } + } override fun onDestroyView() { diff --git a/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepFourBajajFDFragment.kt b/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepFourBajajFDFragment.kt index 6237cc2..8ca4229 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepFourBajajFDFragment.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepFourBajajFDFragment.kt @@ -5,6 +5,7 @@ import android.util.Log import android.view.LayoutInflater import android.view.View import android.view.ViewGroup +import androidx.core.content.res.ResourcesCompat import androidx.lifecycle.ViewModelProvider import androidx.recyclerview.widget.LinearLayoutManager import com.google.gson.Gson @@ -54,32 +55,43 @@ class StepFourBajajFDFragment : BaseFragment() { } + if ((activity as BajajFdMainActivity).LoginRole == 5) { + binding.btnNext.text = getString(R.string.pay) + binding.btnNext.setBackgroundColor(ResourcesCompat.getColor(resources, R.color.green, null)) + }else{ + binding.btnNext.text = getString(R.string.viewOrder) + binding.btnNext.setBackgroundColor(ResourcesCompat.getColor(resources, R.color.red, null)) + } + binding.btnNext.setOnClickListener { - selectedList = "" - for (getCodes in listOfCustomer) { - if (getCodes.isSelected) { - selectedList = if (selectedList.isEmpty()) { - getCodes.Value - } else { - selectedList.plus(",").plus(getCodes.Value) + if ((activity as BajajFdMainActivity).LoginRole == 5) { + selectedList = "" + for (getCodes in listOfCustomer) { + if (getCodes.isSelected) { + selectedList = if (selectedList.isEmpty()) { + getCodes.Value + } else { + selectedList.plus(",").plus(getCodes.Value) + } } } - } - Log.e("selectedList", "-->$selectedList") - if (binding.checkBox.isChecked) { - val saveFDOtherDataRequest = SaveFDOtherDataRequest() - saveFDOtherDataRequest.FDProvider = getString(R.string.bajaj) - saveFDOtherDataRequest.UniqueId = uniqueId - saveFDOtherDataRequest.Values = selectedList - saveFDOtherDataRequest.NiveshClientCode = - (activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_CODE - // bajajFDInterface.stepFourApi(saveFDOtherDataRequest, payUrl, Value) - saveFDOtherData(saveFDOtherDataRequest, payUrl, value) - } else { - showDialogValidation( - activity as BajajFdMainActivity, - resources.getString(R.string.validTermsConditions) - ) + if (binding.checkBox.isChecked && selectedList.isNotEmpty()) { + val saveFDOtherDataRequest = SaveFDOtherDataRequest() + saveFDOtherDataRequest.FDProvider = getString(R.string.bajaj) + saveFDOtherDataRequest.UniqueId = uniqueId + saveFDOtherDataRequest.Values = selectedList + saveFDOtherDataRequest.NiveshClientCode = + (activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_CODE + // bajajFDInterface.stepFourApi(saveFDOtherDataRequest, payUrl, Value) + saveFDOtherData(saveFDOtherDataRequest, payUrl, value) + } else { + showDialogValidation( + activity as BajajFdMainActivity, + resources.getString(R.string.validTermsConditions) + ) + } + }else{ + // go to view order } } @@ -103,7 +115,6 @@ class StepFourBajajFDFragment : BaseFragment() { when (code) { 200 -> { (activity as BajajFdMainActivity).stepFourApi(payUrl, value) - // paymentDialog(payUrl, value) } // 650 -> refreshToken() else -> { diff --git a/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepOneBajajFDFragment.kt b/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepOneBajajFDFragment.kt index 7e4f9ba..687bed2 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepOneBajajFDFragment.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepOneBajajFDFragment.kt @@ -154,6 +154,7 @@ class StepOneBajajFDFragment : BaseFragment() { } (activity as BajajFdMainActivity).fdInvestmentDetails.CustomerType = "" (activity as BajajFdMainActivity).fdInvestmentDetails.CKYCNumber = "" + (activity as BajajFdMainActivity).fdInvestmentDetails.UniqueId = (activity as BajajFdMainActivity).UniqueId (activity as BajajFdMainActivity).createFDApplicantRequest.FDInvestmentDetails = (activity as BajajFdMainActivity).fdInvestmentDetails diff --git a/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepTwoBajajFDFragment.kt b/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepTwoBajajFDFragment.kt index bb96c60..b097ecf 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepTwoBajajFDFragment.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepTwoBajajFDFragment.kt @@ -710,7 +710,6 @@ class StepTwoBajajFDFragment : BaseFragment() { (activity as BajajFdMainActivity).createFDApplicantRequest.NomineeGuardianDetails = (activity as BajajFdMainActivity).nomineeGuardianDetails - (activity as BajajFdMainActivity).createFDApplicantRequest.UniqueId = (activity as BajajFdMainActivity).UniqueId (activity as BajajFdMainActivity).createFDRequest.CreateFDApplicationRequest = (activity as BajajFdMainActivity).createFDApplicantRequest diff --git a/app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepFourBajajFDViewModel.kt b/app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepFourBajajFDViewModel.kt index b5347e5..74af264 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepFourBajajFDViewModel.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepFourBajajFDViewModel.kt @@ -5,10 +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.GetCodeRequest -import com.nivesh.production.bajajfd.model.GetFDDetailsRequest -import com.nivesh.production.bajajfd.model.GetRatesRequest -import com.nivesh.production.bajajfd.model.SaveFDOtherDataRequest +import com.nivesh.production.bajajfd.model.* import com.nivesh.production.bajajfd.repositories.MainRepository import com.nivesh.production.bajajfd.util.Common import com.nivesh.production.bajajfd.util.Common.Companion.handleResponse @@ -67,7 +64,7 @@ class StepFourBajajFDViewModel(private val mainRepository: MainRepository) : Vie } } - fun paymentReQuery(getRatesRequest: GetRatesRequest, token: String, + fun paymentReQuery(getRatesRequest: PaymentReQueryRequest, token: String, activity: Activity) = viewModelScope.launch(Common.handleError(activity)) { if (Common.isNetworkAvailable(activity)) { getRatesMutableData.postValue(Resource.Loading()) diff --git a/app/src/main/res/layout/fragment_bajajfd_step_five.xml b/app/src/main/res/layout/fragment_bajajfd_step_five.xml index effefb9..d507a95 100644 --- a/app/src/main/res/layout/fragment_bajajfd_step_five.xml +++ b/app/src/main/res/layout/fragment_bajajfd_step_five.xml @@ -156,7 +156,7 @@ Date: Fri, 6 Jan 2023 19:59:32 +0530 Subject: [PATCH 15/16] added modification in code --- .../bajajfd/ui/activity/BajajFdMainActivity.kt | 10 +++++----- .../bajajfd/ui/fragment/StepFourBajajFDFragment.kt | 4 ++-- .../bajajfd/ui/fragment/StepTwoBajajFDFragment.kt | 10 +++++----- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/app/src/main/java/com/nivesh/production/bajajfd/ui/activity/BajajFdMainActivity.kt b/app/src/main/java/com/nivesh/production/bajajfd/ui/activity/BajajFdMainActivity.kt index 3758c57..19649e6 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/ui/activity/BajajFdMainActivity.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/ui/activity/BajajFdMainActivity.kt @@ -52,12 +52,12 @@ class BajajFdMainActivity : BaseActivity() { var nomineeDetails: NomineeDetails = NomineeDetails() var nomineeGuardianDetails: NomineeGuardianDetails = NomineeGuardianDetails() var getClientDetailsResponse: getClientDetailsResponse = getClientDetailsResponse() - var UniqueId: String = "" + var uniqueId: String = "" private var stepCount: Int = 0 private lateinit var sectionsPagerAdapter: SectionsPagerAdapter private lateinit var fragments: Array var dialogWebView: Dialog? = null - var LoginRole: Int = 0 + var loginRole: Int = 0 override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) @@ -75,7 +75,7 @@ class BajajFdMainActivity : BaseActivity() { FDModelProviderFactory(MainRepository(ApiClient.getApiClient)) )[BajajFDViewModel::class.java] - LoginRole = 5 + loginRole = 5 if (Common.isNetworkAvailable(this)) { getStepsCountApi() } @@ -150,7 +150,7 @@ class BajajFdMainActivity : BaseActivity() { userRequest.IPAddress = "" userRequest.Source = getString(R.string.source) userRequest.AppOrWeb = getString(R.string.app) - userRequest.LoggedInRoleId = LoginRole + userRequest.LoggedInRoleId = loginRole val deviceInfo = DeviceInfo() deviceInfo.device_id = "" @@ -431,7 +431,7 @@ class BajajFdMainActivity : BaseActivity() { fun paymentReQueryApi() { if (Common.isNetworkAvailable(this)) { val paymentReQueryRequest = PaymentReQueryRequest() - paymentReQueryRequest.UniqueId = UniqueId + paymentReQueryRequest.UniqueId = uniqueId paymentReQueryRequest.NiveshClientCode = getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_CODE viewModel.getPaymentReQuery(paymentReQueryRequest, token, this) diff --git a/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepFourBajajFDFragment.kt b/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepFourBajajFDFragment.kt index 8ca4229..0b8ea91 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepFourBajajFDFragment.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepFourBajajFDFragment.kt @@ -55,7 +55,7 @@ class StepFourBajajFDFragment : BaseFragment() { } - if ((activity as BajajFdMainActivity).LoginRole == 5) { + if ((activity as BajajFdMainActivity).loginRole == 5) { binding.btnNext.text = getString(R.string.pay) binding.btnNext.setBackgroundColor(ResourcesCompat.getColor(resources, R.color.green, null)) }else{ @@ -64,7 +64,7 @@ class StepFourBajajFDFragment : BaseFragment() { } binding.btnNext.setOnClickListener { - if ((activity as BajajFdMainActivity).LoginRole == 5) { + if ((activity as BajajFdMainActivity).loginRole == 5) { selectedList = "" for (getCodes in listOfCustomer) { if (getCodes.isSelected) { diff --git a/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepTwoBajajFDFragment.kt b/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepTwoBajajFDFragment.kt index b097ecf..f52a906 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepTwoBajajFDFragment.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepTwoBajajFDFragment.kt @@ -531,7 +531,7 @@ class StepTwoBajajFDFragment : BaseFragment() { .plus(binding.edtLastName.text.toString()), binding.edtMobileNumber.text.toString(), 1 - ) + , (activity as BajajFdMainActivity).loginRole) } } @@ -741,7 +741,7 @@ class StepTwoBajajFDFragment : BaseFragment() { createFDApplicationResponse.Response.StatusCode.let { code -> when (code) { 200 -> { - (activity as BajajFdMainActivity).UniqueId = createFDApplicationResponse.Response.FDCreationDetailsResponse.UniqueId + (activity as BajajFdMainActivity).uniqueId = createFDApplicationResponse.Response.FDCreationDetailsResponse.UniqueId (activity as BajajFdMainActivity).stepTwoApi( createFDApplicationResponse ) @@ -878,14 +878,14 @@ class StepTwoBajajFDFragment : BaseFragment() { private fun verifyAccountNo( bankAccount: String, Ifsc: String, name: String, phoneNumber: String, bankNo: Int - ) { + ,loginRole : Int) { val bankValidationApiRequest = BankValidationApiRequest() bankValidationApiRequest.BankAccountNo = bankAccount bankValidationApiRequest.IFSC = Ifsc bankValidationApiRequest.Name = name bankValidationApiRequest.PhoneNo = phoneNumber - bankValidationApiRequest.RoleId = 5 + bankValidationApiRequest.RoleId = loginRole bankValidationApiRequest.BankNo = bankNo stepTwoBajajFDViewModel.bankValidationApi( bankValidationApiRequest, @@ -1647,7 +1647,7 @@ class StepTwoBajajFDFragment : BaseFragment() { cityRequest.Type = "" cityRequest.ClientCode = (activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_CODE - cityRequest.RoleID = 5 + cityRequest.RoleID = (activity as BajajFdMainActivity).loginRole cityRequest.APIName = "" cityRequest.UID = 19060 cityRequest.Subbroker_Code = From 0059b5f9e4582bbfdc04cdd6e3d97c86d3b91c73 Mon Sep 17 00:00:00 2001 From: Hemant Khadase Date: Fri, 6 Jan 2023 20:09:04 +0530 Subject: [PATCH 16/16] added modified code --- .../bajajfd/ui/activity/BajajFdMainActivity.kt | 10 +++------- .../bajajfd/ui/fragment/StepFourBajajFDFragment.kt | 14 +++++--------- .../bajajfd/ui/fragment/StepOneBajajFDFragment.kt | 2 +- .../ui/fragment/StepThreeBajajFDFragment.kt | 13 ++----------- .../bajajfd/ui/fragment/StepTwoBajajFDFragment.kt | 4 +--- 5 files changed, 12 insertions(+), 31 deletions(-) diff --git a/app/src/main/java/com/nivesh/production/bajajfd/ui/activity/BajajFdMainActivity.kt b/app/src/main/java/com/nivesh/production/bajajfd/ui/activity/BajajFdMainActivity.kt index 19649e6..8281066 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/ui/activity/BajajFdMainActivity.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/ui/activity/BajajFdMainActivity.kt @@ -369,18 +369,14 @@ class BajajFdMainActivity : BaseActivity() { } // step 2 response - fun stepTwoApi(data: CreateFDApplicationResponse) { - Log.e("stepTwoApi", " response ---> " + Gson().toJson(data)) + fun stepTwoApi() { binding.viewPager.currentItem = 2 - stepThreeBajajFDFragment.displayReceivedData(data) } // step 3 response - fun stepThreeApi(data: CreateFDApplicationResponse) { - Log.e("stepThreeApi", " response --->" + Gson().toJson(data)) - // call create fd api + fun stepThreeApi() { binding.viewPager.currentItem = 3 - stepFourBajajFDFragment.displayReceivedData(data) + stepFourBajajFDFragment.displayReceivedData() } // step 4 response diff --git a/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepFourBajajFDFragment.kt b/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepFourBajajFDFragment.kt index 0b8ea91..8c31288 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepFourBajajFDFragment.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepFourBajajFDFragment.kt @@ -31,7 +31,6 @@ class StepFourBajajFDFragment : BaseFragment() { private val binding get() = _binding!! private lateinit var listOfCustomer: MutableList private var selectedList: String = "" - private var uniqueId: String = "" private var payUrl: String = "" private var value: String = "" @@ -78,7 +77,7 @@ class StepFourBajajFDFragment : BaseFragment() { if (binding.checkBox.isChecked && selectedList.isNotEmpty()) { val saveFDOtherDataRequest = SaveFDOtherDataRequest() saveFDOtherDataRequest.FDProvider = getString(R.string.bajaj) - saveFDOtherDataRequest.UniqueId = uniqueId + saveFDOtherDataRequest.UniqueId = (activity as BajajFdMainActivity).uniqueId saveFDOtherDataRequest.Values = selectedList saveFDOtherDataRequest.NiveshClientCode = (activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_CODE @@ -142,14 +141,11 @@ class StepFourBajajFDFragment : BaseFragment() { } } - - fun displayReceivedData(createFDApplicationResponse: CreateFDApplicationResponse) { - uniqueId = createFDApplicationResponse.Response.FDCreationDetailsResponse.UniqueId - getFDDetailsApi(createFDApplicationResponse.Response.FDCreationDetailsResponse.UniqueId) + fun displayReceivedData() { + getFDDetailsApi() customerListApi() } - private fun customerListApi() { val getCodeRequest = GetCodeRequest() @@ -210,13 +206,13 @@ class StepFourBajajFDFragment : BaseFragment() { } - private fun getFDDetailsApi(uniqueId: String) { + private fun getFDDetailsApi() { if (Common.isNetworkAvailable(mActivity!!)) { val getFDDetailsRequest = GetFDDetailsRequest() getFDDetailsRequest.FDProvider = mActivity!!.getString(R.string.bajaj) getFDDetailsRequest.NiveshClientCode = (mActivity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_CODE - getFDDetailsRequest.UniqueId = uniqueId + getFDDetailsRequest.UniqueId = (activity as BajajFdMainActivity).uniqueId stepFourBajajFDViewModel.getFDDetails( getFDDetailsRequest, Constants.token, diff --git a/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepOneBajajFDFragment.kt b/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepOneBajajFDFragment.kt index 687bed2..d5a4ad5 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepOneBajajFDFragment.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepOneBajajFDFragment.kt @@ -154,7 +154,7 @@ class StepOneBajajFDFragment : BaseFragment() { } (activity as BajajFdMainActivity).fdInvestmentDetails.CustomerType = "" (activity as BajajFdMainActivity).fdInvestmentDetails.CKYCNumber = "" - (activity as BajajFdMainActivity).fdInvestmentDetails.UniqueId = (activity as BajajFdMainActivity).UniqueId + (activity as BajajFdMainActivity).fdInvestmentDetails.UniqueId = (activity as BajajFdMainActivity).uniqueId (activity as BajajFdMainActivity).createFDApplicantRequest.FDInvestmentDetails = (activity as BajajFdMainActivity).fdInvestmentDetails diff --git a/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepThreeBajajFDFragment.kt b/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepThreeBajajFDFragment.kt index 74c782d..455916a 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepThreeBajajFDFragment.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepThreeBajajFDFragment.kt @@ -2,7 +2,6 @@ package com.nivesh.production.bajajfd.ui.fragment import android.Manifest import android.annotation.SuppressLint -import android.app.Dialog import android.content.DialogInterface import android.content.pm.PackageManager import android.database.Cursor @@ -50,7 +49,6 @@ class StepThreeBajajFDFragment : BaseFragment() { private val binding get() = _binding!! private lateinit var stepThreeBajajFDViewModel: StepThreeBajajFDViewModel - private lateinit var dialog: Dialog private var takeImageResult: ActivityResultLauncher? = null private var selectImageIntent: ActivityResultLauncher? = null @@ -62,7 +60,6 @@ class StepThreeBajajFDFragment : BaseFragment() { private var photoFileExt: String? = "" private var doc1FileExt: String? = "" private var doc2fileExt: String? = "" - private var uniqueId: String? = "" private var docValue: String = "" private val mainPANUpload: Int = 1 private val mainPhotoUpload: Int = 2 @@ -399,7 +396,7 @@ class StepThreeBajajFDFragment : BaseFragment() { du.ImageEncodeToBase64 = imageBase64 du.NiveshClientCode = (activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_CODE - du.UniqueId = uniqueId + du.UniqueId = (activity as BajajFdMainActivity).uniqueId stepThreeBajajFDViewModel.documentsUpload( du, Constants.token, @@ -468,9 +465,7 @@ class StepThreeBajajFDFragment : BaseFragment() { createFDApplicationResponse.Response.StatusCode.let { code -> when (code) { 200 -> { - (activity as BajajFdMainActivity).stepThreeApi( - createFDApplicationResponse - ) + (activity as BajajFdMainActivity).stepThreeApi() } // 650 -> refreshToken() else -> { @@ -614,10 +609,6 @@ class StepThreeBajajFDFragment : BaseFragment() { ) } - fun displayReceivedData(createFDApplicationResponse: CreateFDApplicationResponse) { - uniqueId = createFDApplicationResponse.Response.FDCreationDetailsResponse.UniqueId - } - private fun uriToBitmap(selectedFileUri: Uri): Bitmap? { try { val parcelFileDescriptor = diff --git a/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepTwoBajajFDFragment.kt b/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepTwoBajajFDFragment.kt index f52a906..7faae89 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepTwoBajajFDFragment.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepTwoBajajFDFragment.kt @@ -742,9 +742,7 @@ class StepTwoBajajFDFragment : BaseFragment() { when (code) { 200 -> { (activity as BajajFdMainActivity).uniqueId = createFDApplicationResponse.Response.FDCreationDetailsResponse.UniqueId - (activity as BajajFdMainActivity).stepTwoApi( - createFDApplicationResponse - ) + (activity as BajajFdMainActivity).stepTwoApi() } // 650 -> refreshToken()