Browse Source

handled grid

PankajBranch
Hemant Khadase 2 years ago
parent
commit
4c9c2a88b0
8 changed files with 91 additions and 57 deletions
  1. +6
    -0
      app/src/main/java/com/nivesh/production/bajajfd/adapter/PaymentModeAdapter.kt
  2. +4
    -4
      app/src/main/java/com/nivesh/production/bajajfd/interfaces/ApiInterface.kt
  3. +2
    -2
      app/src/main/java/com/nivesh/production/bajajfd/repositories/MainRepository.kt
  4. +20
    -9
      app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepTwoBajajFDFragment.kt
  5. +2
    -2
      app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepTwoBajajFDViewModel.kt
  6. +20
    -21
      app/src/main/res/layout/fragment_bajajfd_step_five.xml
  7. +35
    -19
      app/src/main/res/layout/item_payment_list_preview.xml
  8. +2
    -0
      app/src/main/res/values/dimens.xml

+ 6
- 0
app/src/main/java/com/nivesh/production/bajajfd/adapter/PaymentModeAdapter.kt View File

@ -16,6 +16,7 @@ class PaymentModeAdapter(
inner class BankListViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) { inner class BankListViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
val bankSelector: ImageView = itemView.findViewById(R.id.bankSelector) val bankSelector: ImageView = itemView.findViewById(R.id.bankSelector)
val tvBankName: TextView = itemView.findViewById(R.id.tvBankName) val tvBankName: TextView = itemView.findViewById(R.id.tvBankName)
val tvUpiMsg: TextView = itemView.findViewById(R.id.tvUpiMsg)
} }
private var checkedPosition: Int = -2 private var checkedPosition: Int = -2
@ -39,6 +40,11 @@ class PaymentModeAdapter(
if (bankList != null) { if (bankList != null) {
holder.itemView.apply { holder.itemView.apply {
holder.tvBankName.text = bankList.Value holder.tvBankName.text = bankList.Value
if (bankList.Value.equals("UPI")){
holder.tvUpiMsg.text = context.getString(R.string.upto1LakhOnly)
}else{
holder.tvUpiMsg.text = ""
}
if (selectedAccount == bankList.Value && checkedPosition == -2 if (selectedAccount == bankList.Value && checkedPosition == -2
) { ) {


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

@ -148,11 +148,11 @@ interface ApiInterface {
@GET("WebAPI_Bajaj/api/GetFDBankList?FDProvider=Bajaj") @GET("WebAPI_Bajaj/api/GetFDBankList?FDProvider=Bajaj")
suspend fun bankListApi(@Header("token") token: String): Response<JsonObject> suspend fun bankListApi(@Header("token") token: String): Response<JsonObject>
@GET("WebApi/api/GetIFSC_Autofill?prefix={prefix}")
suspend fun getIFSCApi(@Path("prefix") ifsc : String): Response<JsonObject>
@GET("WebApi/api/GetIFSC_Autofill?")
suspend fun getIFSCApi(@Query("prefix") ifsc : String): Response<JsonObject>
@GET("WebApi/api/GetBankDetailsFromIFSC?")
suspend fun getIFSCDetailsApi(@Query("ifsc") ifsc : String,@Header("token") token: String): Response<JsonObject>
@GET("WebApi_Bajaj/api/GetBankDetailsFromIFSC?")
suspend fun getIFSCDetailsApi(@Query("ifscCode") ifsc : String): Response<JsonObject>
@POST("WebApi_Bajaj/api/GetCodes") @POST("WebApi_Bajaj/api/GetCodes")
suspend fun payModeApi( suspend fun payModeApi(


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

@ -80,8 +80,8 @@ class MainRepository constructor(private val apiInterface: ApiInterface) {
suspend fun ifscCodeCheck(str: String) = suspend fun ifscCodeCheck(str: String) =
apiInterface.getIFSCApi(str) 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) = suspend fun payModeCheck(getCodeRequest: GetCodeRequest, token: String) =
apiInterface.payModeApi(getCodeRequest, token) apiInterface.payModeApi(getCodeRequest, token)


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

@ -17,6 +17,7 @@ import android.widget.RadioButton
import android.widget.TextView import android.widget.TextView
import androidx.core.content.ContextCompat import androidx.core.content.ContextCompat
import androidx.lifecycle.ViewModelProvider import androidx.lifecycle.ViewModelProvider
import androidx.recyclerview.widget.GridLayoutManager
import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView
import com.google.android.material.textfield.TextInputEditText import com.google.android.material.textfield.TextInputEditText
@ -764,7 +765,7 @@ class StepTwoBajajFDFragment : BaseFragment() {
private fun ifscCodeCheckApi(ifsc: String) { private fun ifscCodeCheckApi(ifsc: String) {
if (ifsc.length == 11) {
if (ifsc.length >8) {
stepTwoBajajFDViewModel.ifscCodeApi(ifsc, activity as BajajFdMainActivity) stepTwoBajajFDViewModel.ifscCodeApi(ifsc, activity as BajajFdMainActivity)
stepTwoBajajFDViewModel.getifscCodeCheckMutableData.observe(viewLifecycleOwner) { response -> stepTwoBajajFDViewModel.getifscCodeCheckMutableData.observe(viewLifecycleOwner) { response ->
when (response) { when (response) {
@ -788,15 +789,26 @@ class StepTwoBajajFDFragment : BaseFragment() {
listOfIFSC listOfIFSC
) )
binding.edtIFSC.setAdapter(adapter) binding.edtIFSC.setAdapter(adapter)
}
binding.edtIFSC.setOnItemClickListener { _, _, position, _ ->
if (listOfIFSC.size > 0) {
binding.edtIFSC.setText(listOfIFSC[position])
binding.edtIFSC.setSelection(binding.edtIFSC.text.toString().length)
getIFSCDetailsApi(listOfIFSC[position])
binding.edtIFSC.setOnItemClickListener { _, _, position, _ ->
if (listOfIFSC.size > 0) {
val enteredText = binding.edtIFSC.getText()
Log.d("bankifsc $enteredText",enteredText.toString())
// binding.edtIFSC.setText(listOfIFSC[position])
binding.edtIFSC.setText(adapter.getItem(position).toString())
binding.edtIFSC.setSelection(binding.edtIFSC.text.toString().length)
getIFSCDetailsApi(enteredText.toString())
}
} }
} }
} }
// 650 -> refreshToken() // 650 -> refreshToken()
else -> { else -> {
@ -832,7 +844,6 @@ class StepTwoBajajFDFragment : BaseFragment() {
stepTwoBajajFDViewModel.ifscCodeDetailsApi( stepTwoBajajFDViewModel.ifscCodeDetailsApi(
ifscCode, ifscCode,
token,
activity as BajajFdMainActivity activity as BajajFdMainActivity
) )
stepTwoBajajFDViewModel.getifscCodeDetailsCheckMutableData.observe(viewLifecycleOwner) { response -> stepTwoBajajFDViewModel.getifscCodeDetailsCheckMutableData.observe(viewLifecycleOwner) { response ->
@ -1159,7 +1170,7 @@ class StepTwoBajajFDFragment : BaseFragment() {
private fun setUpRecyclerViewPaymentMode(listOfPayMode: List<GetCodes>) { private fun setUpRecyclerViewPaymentMode(listOfPayMode: List<GetCodes>) {
binding.rvPaymentMode.layoutManager = binding.rvPaymentMode.layoutManager =
LinearLayoutManager(activity as BajajFdMainActivity)
GridLayoutManager(activity as BajajFdMainActivity,2)
paymentModeAdapter = PaymentModeAdapter( paymentModeAdapter = PaymentModeAdapter(
listOfPayMode, listOfPayMode,
listOfPayMode[0].Value listOfPayMode[0].Value


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

@ -137,12 +137,12 @@ class StepTwoBajajFDViewModel(private val mainRepository: MainRepository) : View
} }
val getifscCodeDetailsCheckMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData() val getifscCodeDetailsCheckMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
fun ifscCodeDetailsApi(ifsc : String, token: String,activity : Activity) = viewModelScope.launch(
fun ifscCodeDetailsApi(ifsc : String,activity : Activity) = viewModelScope.launch(
Common.handleError(activity) Common.handleError(activity)
) { ) {
if (Common.isNetworkAvailable(activity)) { if (Common.isNetworkAvailable(activity)) {
getifscCodeDetailsCheckMutableData.postValue(Resource.Loading()) getifscCodeDetailsCheckMutableData.postValue(Resource.Loading())
val response = mainRepository.ifscCodeDetailsCheck(ifsc, token)
val response = mainRepository.ifscCodeDetailsCheck(ifsc)
getifscCodeDetailsCheckMutableData.postValue(handleResponse(response)) getifscCodeDetailsCheckMutableData.postValue(handleResponse(response))
} }
} }


+ 20
- 21
app/src/main/res/layout/fragment_bajajfd_step_five.xml View File

@ -139,21 +139,21 @@
</androidx.core.widget.NestedScrollView> </androidx.core.widget.NestedScrollView>
<TextView
android:id="@+id/tvDownloadInvoice"
style="@style/semiBoldStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginTop="@dimen/margin_20"
android:backgroundTint="@color/blue"
android:text="@string/downloadInvoice"
android:textColor="@color/blue"
android:textSize="@dimen/text_size_16"
app:layout_constraintTop_toBottomOf="@+id/linearLayoutTwo"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/btnNext"
app:layout_constraintStart_toStartOf="parent" />
<!-- <TextView-->
<!-- android:id="@+id/tvDownloadInvoice"-->
<!-- style="@style/semiBoldStyle"-->
<!-- android:layout_width="wrap_content"-->
<!-- android:layout_height="wrap_content"-->
<!-- android:layout_gravity="center_vertical"-->
<!-- android:layout_marginTop="@dimen/margin_20"-->
<!-- android:backgroundTint="@color/blue"-->
<!-- android:text="@string/downloadInvoice"-->
<!-- android:textColor="@color/blue"-->
<!-- android:textSize="@dimen/text_size_16"-->
<!-- app:layout_constraintTop_toBottomOf="@+id/linearLayoutTwo"-->
<!-- app:layout_constraintBottom_toBottomOf="parent"-->
<!-- app:layout_constraintEnd_toStartOf="@+id/btnNext"-->
<!-- app:layout_constraintStart_toStartOf="parent" />-->
<com.google.android.material.button.MaterialButton <com.google.android.material.button.MaterialButton
android:id="@+id/btnNext" android:id="@+id/btnNext"
@ -162,13 +162,14 @@
android:layout_gravity="center_vertical" android:layout_gravity="center_vertical"
android:layout_marginTop="@dimen/margin_10" android:layout_marginTop="@dimen/margin_10"
android:layout_marginBottom="@dimen/margin_15" android:layout_marginBottom="@dimen/margin_15"
android:layout_marginStart="@dimen/margin_170"
android:backgroundTint="@color/colorPrimary" android:backgroundTint="@color/colorPrimary"
android:text="@string/viewOrder" android:text="@string/viewOrder"
android:textColor="@color/white" android:textColor="@color/white"
android:textSize="@dimen/text_size_14" android:textSize="@dimen/text_size_14"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/tvDownloadInvoice" />
app:layout_constraintStart_toStartOf="parent" />
<com.google.android.material.button.MaterialButton <com.google.android.material.button.MaterialButton
android:id="@+id/tvRetry" android:id="@+id/tvRetry"
@ -179,11 +180,9 @@
android:text="@string/retry" android:text="@string/retry"
android:textColor="@color/white" android:textColor="@color/white"
android:visibility="gone" android:visibility="gone"
android:layout_marginStart="@dimen/margin_70"
android:layout_marginBottom="@dimen/margin_15"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/btnNext"
app:layout_constraintHorizontal_bias="0.607"
app:layout_constraintStart_toEndOf="@+id/tvDownloadInvoice"
app:layout_constraintTop_toTopOf="@+id/linearLayoutTwo"
app:layout_constraintVertical_bias="0.967" />
app:layout_constraintStart_toStartOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout> </androidx.constraintlayout.widget.ConstraintLayout>

+ 35
- 19
app/src/main/res/layout/item_payment_list_preview.xml View File

@ -4,36 +4,52 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
app:cardBackgroundColor="@color/white" app:cardBackgroundColor="@color/white"
app:cardCornerRadius="3dp"
app:cardElevation="3dp"
app:cardCornerRadius="2dp"
app:cardElevation="2dp"
app:cardMaxElevation="1dp" app:cardMaxElevation="1dp"
app:cardPreventCornerOverlap="true" app:cardPreventCornerOverlap="true"
app:cardUseCompatPadding="true"> app:cardUseCompatPadding="true">
<LinearLayout <LinearLayout
android:padding="@dimen/margin_3"
android:orientation="horizontal"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content">
<ImageView
android:id="@+id/bankSelector"
android:layout_width="@dimen/margin_25"
android:layout_height="@dimen/margin_25"
android:layout_marginStart="@dimen/margin_10"
android:layout_marginEnd="@dimen/margin_10"
android:layout_marginBottom="@dimen/margin_10"
android:padding="@dimen/margin_5"
android:contentDescription="@null" />
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="@dimen/margin_2">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<ImageView
android:id="@+id/bankSelector"
android:layout_width="@dimen/margin_25"
android:layout_height="@dimen/margin_25"
android:layout_marginStart="@dimen/margin_10"
android:layout_marginEnd="@dimen/margin_10"
android:layout_marginBottom="@dimen/margin_2"
android:contentDescription="@null"
android:padding="@dimen/margin_5" />
<TextView
android:id="@+id/tvBankName"
style="@style/BoldStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/margin_4"
android:textColor="@color/black"
android:textSize="@dimen/text_size_14" />
</LinearLayout>
<TextView <TextView
android:id="@+id/tvBankName"
android:id="@+id/tvUpiMsg"
style="@style/regularStyle"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="@dimen/margin_4"
android:textColor="@color/black" android:textColor="@color/black"
android:textSize="@dimen/text_size_14"
android:textStyle="bold" />
android:textSize="@dimen/text_size_12" />
</LinearLayout> </LinearLayout>
</com.google.android.material.card.MaterialCardView> </com.google.android.material.card.MaterialCardView>

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

@ -72,6 +72,8 @@
<dimen name="margin_100">100dp</dimen> <dimen name="margin_100">100dp</dimen>
<dimen name="margin_120">120dp</dimen> <dimen name="margin_120">120dp</dimen>
<dimen name="margin_150">150dp</dimen> <dimen name="margin_150">150dp</dimen>
<dimen name="margin_160">160dp</dimen>
<dimen name="margin_170">170dp</dimen>
<dimen name="margin_290">290dp</dimen> <dimen name="margin_290">290dp</dimen>
<dimen name="margin_300">300dp</dimen> <dimen name="margin_300">300dp</dimen>


Loading…
Cancel
Save

Powered by TurnKey Linux.