From 06aded85e061041e6a8675625efb49eb1942b15a Mon Sep 17 00:00:00 2001 From: pankaj Date: Wed, 4 Jan 2023 10:27:50 +0530 Subject: [PATCH] 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