From d03ce535b682015ed217fd4b1819bf44f6bd758f Mon Sep 17 00:00:00 2001 From: Hemant Khadase Date: Mon, 9 Jan 2023 15:33:17 +0530 Subject: [PATCH 01/10] working on gallry --- app/src/main/AndroidManifest.xml | 1 + .../ui/activity/BajajFdMainActivity.kt | 18 +-- .../ui/fragment/StepFiveBajajFDFragment.kt | 10 +- .../ui/fragment/StepThreeBajajFDFragment.kt | 145 +++++++++++++----- .../providerfactory/FDModelProviderFactory.kt | 3 +- .../nivesh/production/bajajfd/util/Common.kt | 7 + .../res/layout/fragment_bajajfd_step_five.xml | 27 +--- .../main/res/layout/fragment_step_fail.xml | 136 ---------------- 8 files changed, 133 insertions(+), 214 deletions(-) delete mode 100644 app/src/main/res/layout/fragment_step_fail.xml diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 1e58ab2..2490fea 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -10,6 +10,7 @@ tools:ignore="ScopedStorage" /> + when (code) { - 200 -> { + 650 -> "" + else -> { if (stepCount == 4) { binding.viewPager.currentItem = 4 } else { @@ -445,13 +446,6 @@ class BajajFdMainActivity : BaseActivity() { } stepFiveBajajFDFragment.getData(paymentReQueryResponse) } - 650 -> "" - else -> { - showDialogValidation( - this@BajajFdMainActivity, - paymentReQueryResponse.Response.Errors[0].ErrorMessage - ) - } } } } 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 5f9ea63..b156e53 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 @@ -5,6 +5,7 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import androidx.fragment.app.Fragment +import com.nivesh.production.bajajfd.R import com.nivesh.production.bajajfd.databinding.FragmentBajajfdStepFiveBinding import com.nivesh.production.bajajfd.model.PaymentReQueryResponse @@ -22,8 +23,13 @@ class StepFiveBajajFDFragment : Fragment() { } fun getData(paymentReQueryResponse: PaymentReQueryResponse) { - - + if (paymentReQueryResponse.Response.StatusCode == 200) { + binding.tvCongrats.text = getString(R.string.congratulations) + binding.tvSuccessMessage.text = paymentReQueryResponse.Response.Message + }else{ + binding.tvCongrats.text = getString(R.string.sorry) + binding.tvSuccessMessage.text = paymentReQueryResponse.Response.Message + } } override fun onViewCreated(view: View, savedInstanceState: Bundle?) { 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 eccf074..21ce6bb 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,12 +2,14 @@ package com.nivesh.production.bajajfd.ui.fragment import android.Manifest import android.annotation.SuppressLint +import android.app.Activity import android.content.DialogInterface import android.content.pm.PackageManager import android.database.Cursor import android.graphics.Bitmap import android.graphics.BitmapFactory import android.net.Uri +import android.os.Build import android.os.Bundle import android.provider.OpenableColumns import android.util.Base64 @@ -19,6 +21,7 @@ import android.widget.* import androidx.activity.result.ActivityResultLauncher import androidx.activity.result.contract.ActivityResultContracts import androidx.appcompat.app.AlertDialog +import androidx.core.app.ActivityCompat import androidx.core.content.ContextCompat import androidx.core.content.FileProvider import androidx.fragment.app.Fragment @@ -50,7 +53,6 @@ class StepThreeBajajFDFragment : Fragment() { private val mapImage: HashMap = HashMap() private lateinit var listOfDocType: List - private var check: Array? = null private var panString: String = "" private var photoString: String = "" @@ -67,17 +69,51 @@ class StepThreeBajajFDFragment : Fragment() { private val secondDocUpload: Int = 4 private var actionType: Int = -1 + private val permissions = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) { + arrayOf( + Manifest.permission.READ_EXTERNAL_STORAGE, + Manifest.permission.WRITE_EXTERNAL_STORAGE, + Manifest.permission.READ_MEDIA_IMAGES + ) + } else { + arrayOf( + Manifest.permission.READ_EXTERNAL_STORAGE, + Manifest.permission.WRITE_EXTERNAL_STORAGE + ) + } + private val askPermissions = mutableListOf() - private val requestPermission = registerForActivityResult( + private val requestCameraPermission = registerForActivityResult( ActivityResultContracts.RequestPermission() ) { isGranted: Boolean -> if (isGranted) { - Log.e("permission:", "Granted") + Log.e("Permission: ", "Granted") } else { - Log.e("permission:", "Denied") + Log.e("Permission: ", "Denied") } + } + private val requestGalleryPermission = registerForActivityResult( + ActivityResultContracts.RequestMultiplePermissions() + ) { permission -> + + if (!permission.containsValue(false)){ + selectImageIntent?.launch("image/*") + }else{ +// for (permissionObj in permissions) { +// if (ContextCompat.checkSelfPermission(activity as BajajFdMainActivity, permissionObj) != PackageManager.PERMISSION_GRANTED) { +// askPermissions.add(permissionObj) +// } +// } +// if (askPermissions.isNotEmpty()){ +// requestGalleryPermission.launch(askPermissions) +// } + } + + } + + override fun onCreateView( inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle? @@ -90,12 +126,6 @@ class StepThreeBajajFDFragment : Fragment() { override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) - check = arrayOf( - getString(R.string.takePhoto), - getString(R.string.chooseFromGallery), - getString(R.string.cancel) - ) - selectImageIntent = registerForActivityResult(ActivityResultContracts.GetContent()) { uri: Uri? -> if (uri != null) { @@ -208,40 +238,81 @@ class StepThreeBajajFDFragment : Fragment() { ) builder.setTitle(getString(R.string.addPhoto)) builder.setItems( - check - ) { dialog: DialogInterface, item: Int -> - if (check!![item] == getString(R.string.takePhoto)) { - val permission = ContextCompat.checkSelfPermission( - activity as BajajFdMainActivity, - Manifest.permission.CAMERA - ) - if (permission == PackageManager.PERMISSION_GRANTED) { - takeImage() - } else { - requestPermission.launch( - Manifest.permission.CAMERA - ) + arrayOf( + getString(R.string.takePhoto), + getString(R.string.chooseFromGallery), + getString(R.string.cancel) + ) + ) { dialog: DialogInterface, pos -> + when (pos) { + 0 -> { + if (hasPermissions( + activity as BajajFdMainActivity, + Manifest.permission.CAMERA + ) + ) { + takeImage() + } else { + onClickRequestPermission() + } + dialog.dismiss() } - dialog.dismiss() - } else if (check!![item] == getString(R.string.chooseFromGallery)) { - 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 - ) + 1 -> { + if (hasPermissions(activity as BajajFdMainActivity, *permissions)) { + selectImageIntent?.launch("image/*") + } else { + requestGalleryPermission.launch(permissions) + } + dialog.dismiss() + } + else -> { + dialog.dismiss() } - } else if (check!![item] == getString(R.string.cancel)) { - dialog.dismiss() } } builder.show() } + private fun hasPermissions(activity: Activity, vararg permissions: String?): Boolean { + for (permission in permissions) { + if (ActivityCompat.checkSelfPermission( + activity, + permission!! + ) != PackageManager.PERMISSION_GRANTED + ) { + return false + } + } + return true + } + + fun onClickRequestPermission() { + when { + ContextCompat.checkSelfPermission( + activity as BajajFdMainActivity, + Manifest.permission.CAMERA + ) == PackageManager.PERMISSION_GRANTED -> { + + } + + ActivityCompat.shouldShowRequestPermissionRationale( + activity as BajajFdMainActivity, + Manifest.permission.CAMERA + ) -> { + requestCameraPermission.launch( + Manifest.permission.CAMERA + ) + } + + else -> { + requestCameraPermission.launch( + Manifest.permission.CAMERA + ) + } + } + } + + private fun setOtherUploadLayout(itemName: String?) { binding.tvAadhaarFront.text = itemName.plus(" Front *") if (binding.tvAadhaarBack.visibility == View.VISIBLE) binding.tvAadhaarBack.visibility = diff --git a/app/src/main/java/com/nivesh/production/bajajfd/ui/providerfactory/FDModelProviderFactory.kt b/app/src/main/java/com/nivesh/production/bajajfd/ui/providerfactory/FDModelProviderFactory.kt index 40c35fc..3f68938 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/ui/providerfactory/FDModelProviderFactory.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/ui/providerfactory/FDModelProviderFactory.kt @@ -5,7 +5,8 @@ import androidx.lifecycle.ViewModelProvider import com.nivesh.production.bajajfd.repositories.MainRepository import com.nivesh.production.bajajfd.viewModel.BajajFDViewModel -class FDModelProviderFactory (private val mainRepository: MainRepository) : ViewModelProvider.Factory { +class FDModelProviderFactory(private val mainRepository: MainRepository) : + ViewModelProvider.Factory { override fun create(modelClass: Class): T { return BajajFDViewModel(mainRepository) as T 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 2a59ec3..a82a7f9 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 @@ -1,8 +1,10 @@ package com.nivesh.production.bajajfd.util +import android.Manifest import android.app.Activity import android.app.AlertDialog import android.content.Context +import android.content.pm.PackageManager import android.graphics.Color import android.graphics.drawable.GradientDrawable import android.net.ConnectivityManager @@ -11,6 +13,9 @@ import android.os.Build import android.text.format.DateFormat import android.util.Log import android.util.Patterns +import androidx.activity.result.contract.ActivityResultContracts +import androidx.core.app.ActivityCompat +import androidx.core.content.ContextCompat import com.google.android.material.textfield.MaterialAutoCompleteTextView import com.google.android.material.textfield.TextInputEditText import com.google.android.material.textfield.TextInputLayout @@ -272,5 +277,7 @@ class Common { } } + + } } \ No newline at end of file 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 d507a95..fd8e4b1 100644 --- a/app/src/main/res/layout/fragment_bajajfd_step_five.xml +++ b/app/src/main/res/layout/fragment_bajajfd_step_five.xml @@ -17,7 +17,6 @@ android:background="@color/NiveshColorAppBg" android:fillViewport="true" android:orientation="vertical" - app:layout_constraintBottom_toTopOf="@+id/btnNext" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent"> @@ -87,7 +86,6 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="12dp" - android:text="@string/congratulations" android:textColor="@color/black" android:textSize="@dimen/text_size_17" app:layout_constraintEnd_toEndOf="parent" @@ -101,7 +99,6 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="16dp" - android:text="@string/transactionIsSuccessful" android:textColor="@color/black" android:textSize="@dimen/text_size_16" app:layout_constraintEnd_toEndOf="parent" @@ -111,6 +108,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file From 366ab9d3c73c4a064310845906ca1afc3cac5c99 Mon Sep 17 00:00:00 2001 From: Hemant Khadase Date: Mon, 9 Jan 2023 15:46:41 +0530 Subject: [PATCH 02/10] added code --- .../bajajfd/ui/fragment/StepFourBajajFDFragment.kt | 4 ++-- .../production/bajajfd/viewModel/BajajFDViewModel.kt | 11 +++++++++++ 2 files changed, 13 insertions(+), 2 deletions(-) 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 da2b9cc..af72da5 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 @@ -155,12 +155,12 @@ class StepFourBajajFDFragment : Fragment() { getCodeRequest.Category = getString(R.string.customerCategory) getCodeRequest.Language = getString(R.string.language) getCodeRequest.InputValue = "" - (activity as BajajFdMainActivity).viewModel.paymentModeApi( + (activity as BajajFdMainActivity).viewModel.customerListApi( getCodeRequest, token, activity as BajajFdMainActivity ) - (activity as BajajFdMainActivity).viewModel.getPaymentModeMutableData.observe( + (activity as BajajFdMainActivity).viewModel.customerListMutableData.observe( viewLifecycleOwner ) { response -> when (response) { 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 33f050f..3deb839 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 @@ -335,6 +335,17 @@ open class BajajFDViewModel(private val mainRepository: MainRepository) : ViewMo } } + val customerListMutableData: MutableLiveData> = MutableLiveData() + fun customerListApi(getCodeRequest: GetCodeRequest, token: String,activity : Activity) = viewModelScope.launch( + handleError(activity) + ) { + if (Common.isNetworkAvailable(activity)) { + customerListMutableData.postValue(Resource.Loading()) + val response = mainRepository.payModeCheck(getCodeRequest, token) + customerListMutableData.postValue(handleResponse(response)) + } + } + fun updateFDPaymentStatus(getRatesRequest: GetRatesRequest, token: String, activity: Activity ) = From ca95b4ced8eca366e5b56e6ffe730cd45f564b84 Mon Sep 17 00:00:00 2001 From: Hemant Khadase Date: Mon, 9 Jan 2023 15:53:34 +0530 Subject: [PATCH 03/10] minor changes --- .../nivesh/production/bajajfd/interfaces/ApiInterface.kt | 6 ++++++ .../production/bajajfd/repositories/MainRepository.kt | 3 +++ .../nivesh/production/bajajfd/viewModel/BajajFDViewModel.kt | 2 +- 3 files changed, 10 insertions(+), 1 deletion(-) 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 4a7b331..2c7c967 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 @@ -160,6 +160,12 @@ interface ApiInterface { @Header("token") token: String ): Response + @POST("GetCodes") + suspend fun customerListApi( + @Body getCodeRequest: GetCodeRequest, + @Header("token") token: String + ): Response + @POST("BankValidationAPI_S") suspend fun bankValidationApi( @Body bankValidationApiRequest: BankValidationApiRequest, 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 81ab7a2..80514ed 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 @@ -86,6 +86,9 @@ class MainRepository constructor(private val apiInterface: ApiInterface) { suspend fun payModeCheck(getCodeRequest: GetCodeRequest, token: String) = apiInterface.payModeApi(getCodeRequest, token) + suspend fun customerListCheck(getCodeRequest: GetCodeRequest, token: String) = + apiInterface.customerListApi(getCodeRequest, token) + suspend fun checkFDKYCRequest(checkFDKYCRequest: CheckFDKYCRequest, token: String) = apiInterface.checkFDKYC(checkFDKYCRequest, token) 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 3deb839..47adbc4 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 @@ -341,7 +341,7 @@ open class BajajFDViewModel(private val mainRepository: MainRepository) : ViewMo ) { if (Common.isNetworkAvailable(activity)) { customerListMutableData.postValue(Resource.Loading()) - val response = mainRepository.payModeCheck(getCodeRequest, token) + val response = mainRepository.customerListCheck(getCodeRequest, token) customerListMutableData.postValue(handleResponse(response)) } } From 813b5ee62637fda86becbc2785e6ebbd67196ff8 Mon Sep 17 00:00:00 2001 From: Hemant Khadase Date: Mon, 9 Jan 2023 16:36:06 +0530 Subject: [PATCH 04/10] added change related to fragment --- .../bajajfd/ui/activity/BajajFdMainActivity.kt | 14 +++++++------- .../bajajfd/ui/fragment/StepFiveBajajFDFragment.kt | 7 +++++-- .../main/res/layout/fragment_bajajfd_step_five.xml | 2 ++ 3 files changed, 14 insertions(+), 9 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 7baebab..f24f2d1 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 @@ -221,13 +221,13 @@ class BajajFdMainActivity : BaseActivity() { // set viewPager sectionsPagerAdapter = SectionsPagerAdapter(supportFragmentManager, fragments, stepsCount) val viewPager: DisableAdapter = binding.viewPager - viewPager.setPagingEnabled(false) viewPager.adapter = sectionsPagerAdapter - if (sectionsPagerAdapter.count > 1) { - viewPager.offscreenPageLimit = sectionsPagerAdapter.count - 1 - } else { - viewPager.offscreenPageLimit = 1 - } + viewPager.setPagingEnabled(false) + // if (sectionsPagerAdapter.count > 1) { + viewPager.offscreenPageLimit = stepCount - 1 + // } else { + // viewPager.offscreenPageLimit = 1 + // } viewPager.addOnPageChangeListener(object : ViewPager.OnPageChangeListener { override fun onPageScrolled( position: Int, @@ -429,7 +429,7 @@ class BajajFdMainActivity : BaseActivity() { viewModel.getPaymentReQueryMutableData.observe(this) { response -> when (response) { is Resource.Success -> { - Log.e("response", "-->$response") + Log.e("paymentReQueryApi ", "response -->$response") val paymentReQueryResponse: PaymentReQueryResponse = Gson().fromJson( response.data?.toString(), 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 b156e53..bd77401 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 @@ -18,7 +18,9 @@ class StepFiveBajajFDFragment : Fragment() { inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle? ): View { - _binding = FragmentBajajfdStepFiveBinding.inflate(inflater, container, false) + binding.apply { + _binding = FragmentBajajfdStepFiveBinding.inflate(inflater, container, false) + } return binding.root } @@ -35,10 +37,11 @@ class StepFiveBajajFDFragment : Fragment() { override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) + binding.tvCongrats.text = "" + binding.tvSuccessMessage.text = "" binding.btnViewOrder.setOnClickListener { } - } override fun onDestroyView() { 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 fd8e4b1..e8017e7 100644 --- a/app/src/main/res/layout/fragment_bajajfd_step_five.xml +++ b/app/src/main/res/layout/fragment_bajajfd_step_five.xml @@ -88,6 +88,7 @@ android:layout_marginTop="12dp" android:textColor="@color/black" android:textSize="@dimen/text_size_17" + android:text="" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="0.437" app:layout_constraintStart_toStartOf="parent" @@ -101,6 +102,7 @@ android:layout_marginTop="16dp" android:textColor="@color/black" android:textSize="@dimen/text_size_16" + android:text="" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="0.419" app:layout_constraintStart_toStartOf="parent" From c767662417601e8ba4ff2f93f59bafa5eb4f234d Mon Sep 17 00:00:00 2001 From: Hemant Khadase Date: Mon, 9 Jan 2023 18:25:46 +0530 Subject: [PATCH 05/10] resolved image permission --- app/src/main/AndroidManifest.xml | 4 +-- .../ui/fragment/StepThreeBajajFDFragment.kt | 33 ++++++++----------- .../nivesh/production/bajajfd/util/Common.kt | 26 ++++++++------- app/src/main/res/values-hi-rIN/strings.xml | 4 +++ app/src/main/res/values/strings.xml | 4 +++ 5 files changed, 36 insertions(+), 35 deletions(-) diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 2490fea..245ae96 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -5,9 +5,7 @@ + android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 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 21ce6bb..4fa89e1 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.Activity import android.content.DialogInterface +import android.content.Intent import android.content.pm.PackageManager import android.database.Cursor import android.graphics.Bitmap @@ -12,6 +13,7 @@ import android.net.Uri import android.os.Build import android.os.Bundle import android.provider.OpenableColumns +import android.provider.Settings import android.util.Base64 import android.util.Log import android.view.LayoutInflater @@ -34,10 +36,12 @@ import com.nivesh.production.bajajfd.model.* import com.nivesh.production.bajajfd.ui.activity.BajajFdMainActivity import com.nivesh.production.bajajfd.util.Common import com.nivesh.production.bajajfd.util.Common.Companion.getFileExtension +import com.nivesh.production.bajajfd.util.Common.Companion.showDialogWithTwoButtons import com.nivesh.production.bajajfd.util.Constants import com.nivesh.production.bajajfd.util.ImageUtil import com.nivesh.production.bajajfd.util.Resource import java.io.* +import java.util.* class StepThreeBajajFDFragment : Fragment() { @@ -81,39 +85,29 @@ class StepThreeBajajFDFragment : Fragment() { Manifest.permission.WRITE_EXTERNAL_STORAGE ) } - private val askPermissions = mutableListOf() private val requestCameraPermission = registerForActivityResult( ActivityResultContracts.RequestPermission() ) { isGranted: Boolean -> if (isGranted) { - Log.e("Permission: ", "Granted") + takeImage() } else { - Log.e("Permission: ", "Denied") + showDialogWithTwoButtons((activity as BajajFdMainActivity), getString(R.string.cameraPermission), getString( + R.string.permissionRequired)) } - } private val requestGalleryPermission = registerForActivityResult( ActivityResultContracts.RequestMultiplePermissions() - ) { permission -> - - if (!permission.containsValue(false)){ + ) { permission -> + if (!permission.containsValue(false)) { selectImageIntent?.launch("image/*") - }else{ -// for (permissionObj in permissions) { -// if (ContextCompat.checkSelfPermission(activity as BajajFdMainActivity, permissionObj) != PackageManager.PERMISSION_GRANTED) { -// askPermissions.add(permissionObj) -// } -// } -// if (askPermissions.isNotEmpty()){ -// requestGalleryPermission.launch(askPermissions) -// } + } else { + showDialogWithTwoButtons((activity as BajajFdMainActivity), getString(R.string.galleryPermission), getString( + R.string.permissionsRequired)) } - } - override fun onCreateView( inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle? @@ -286,7 +280,7 @@ class StepThreeBajajFDFragment : Fragment() { return true } - fun onClickRequestPermission() { + private fun onClickRequestPermission() { when { ContextCompat.checkSelfPermission( activity as BajajFdMainActivity, @@ -312,7 +306,6 @@ class StepThreeBajajFDFragment : Fragment() { } } - private fun setOtherUploadLayout(itemName: String?) { binding.tvAadhaarFront.text = itemName.plus(" Front *") if (binding.tvAadhaarBack.visibility == View.VISIBLE) binding.tvAadhaarBack.visibility = 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 a82a7f9..09aef07 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 @@ -4,23 +4,28 @@ import android.Manifest import android.app.Activity import android.app.AlertDialog import android.content.Context +import android.content.Intent import android.content.pm.PackageManager 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.Settings import android.text.format.DateFormat import android.util.Log import android.util.Patterns import androidx.activity.result.contract.ActivityResultContracts import androidx.core.app.ActivityCompat import androidx.core.content.ContextCompat +import androidx.core.content.ContextCompat.startActivity 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.R +import com.nivesh.production.bajajfd.ui.activity.BajajFdMainActivity import kotlinx.coroutines.CoroutineExceptionHandler import org.json.JSONObject import retrofit2.HttpException @@ -124,11 +129,18 @@ class Common { builder.show() } - fun showDialogWithTwoButtons(activity: Activity?, message: CharSequence?) { + fun showDialogWithTwoButtons(activity: Activity?, message: CharSequence?, title: String) { val builder = AlertDialog.Builder(activity) + builder.setTitle(title) builder.setMessage(message) if (activity != null) { builder.setPositiveButton(activity.getString(R.string.Ok)) { dialogInterface, _ -> + val intent = Intent( + Settings.ACTION_APPLICATION_DETAILS_SETTINGS, + Uri.fromParts("package", (activity as BajajFdMainActivity).packageName, null) + ) + intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK) + activity.startActivity(intent) dialogInterface.dismiss() } builder.setNegativeButton(activity.getString(R.string.cancel)) { dialogInterface, _ -> @@ -194,21 +206,11 @@ class Common { } fun handleResponse(response: Response): Resource { - // try { if (response.isSuccessful && response.body() != null) { response.body()?.let { resultResponse -> return Resource.Success(resultResponse) } } -// } catch (t: Throwable) { -// return when (t) { -// is IOException -> Resource.Error("Response : " + t.message.plus(" Cause: " + t.cause)) -// is HttpException -> Resource.Error("Response : " + t.message.plus(" Cause: " + t.cause)) -// is SocketTimeoutException -> Resource.Error("Response : " + t.message.plus(" Cause: " + t.cause)) -// is UnknownHostException -> Resource.Error("Response : " + t.message.plus(" Cause: " + t.cause)) -// else -> Resource.Error(t.localizedMessage?.toString() ?: "") -// } -// } return Resource.Error(response.message()) } @@ -247,7 +249,7 @@ class Common { } fun isMinor(date: String): Boolean { - val simpleDateFormat = SimpleDateFormat("yyyy-MM-dd", Locale.getDefault()) + val simpleDateFormat = SimpleDateFormat("yyyy-MM-dd", Locale.US) val dt1: Date = simpleDateFormat.parse(date) as Date val year: Int = DateFormat.format("yyyy", dt1).toString().toInt() val month: Int = DateFormat.format("mm", dt1).toString().toInt() diff --git a/app/src/main/res/values-hi-rIN/strings.xml b/app/src/main/res/values-hi-rIN/strings.xml index 2ab4061..96dd577 100644 --- a/app/src/main/res/values-hi-rIN/strings.xml +++ b/app/src/main/res/values-hi-rIN/strings.xml @@ -248,6 +248,10 @@ Add New Account OK + You Need to Give Permission of Camera for uploading Image + You Need to Give Permission of Gallery for uploading Image + Permission Required ! + Permission\'s Required ! \ 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 2ab4061..96dd577 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -248,6 +248,10 @@ Add New Account OK + You Need to Give Permission of Camera for uploading Image + You Need to Give Permission of Gallery for uploading Image + Permission Required ! + Permission\'s Required ! \ No newline at end of file From e21aceedc2bbe76b4aeafd9be52d3e174b55707d Mon Sep 17 00:00:00 2001 From: Hemant Khadase Date: Mon, 9 Jan 2023 18:38:04 +0530 Subject: [PATCH 06/10] added validation msgs --- .../production/bajajfd/ui/activity/BajajFdMainActivity.kt | 3 +++ .../bajajfd/ui/fragment/StepThreeBajajFDFragment.kt | 6 +++--- 2 files changed, 6 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 f24f2d1..29cf5dd 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 @@ -366,6 +366,9 @@ class BajajFdMainActivity : BaseActivity() { // step 2 response fun stepTwoApi() { binding.viewPager.currentItem = 2 + if (stepCount == 3) { + stepFourBajajFDFragment.displayReceivedData() + } } // step 3 response 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 4fa89e1..9d541df 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 @@ -588,11 +588,11 @@ class StepThreeBajajFDFragment : Fragment() { ) binding.spDocType.setAdapter(adapter) binding.spDocType.setText( - adapter.getItem(0)?.Value, + adapter.getItem(0)?.Label, false ) - setOtherUploadLayout(adapter.getItem(0)?.Value) - docValue = adapter.getItem(0)?.Value.toString() + setOtherUploadLayout(adapter.getItem(0)?.Label) + docValue = adapter.getItem(0)?.Label.toString() } } From 24046cd911cf273a842748846cbac2810f7f938a Mon Sep 17 00:00:00 2001 From: Hemant Khadase Date: Mon, 9 Jan 2023 19:45:51 +0530 Subject: [PATCH 07/10] modified stepfive --- .../bajajfd/adapter/SectionsPagerAdapter.kt | 4 +- .../ui/activity/BajajFdMainActivity.kt | 43 +++++++---- .../ui/fragment/StepFiveBajajFDFragment.kt | 33 ++++++-- .../ui/fragment/StepFourBajajFDFragment.kt | 70 ++++++++++------- app/src/main/res/layout/activity_bajaj_fd.xml | 75 ++++++++++--------- .../res/layout/fragment_bajajfd_step_five.xml | 8 +- app/src/main/res/values-hi-rIN/strings.xml | 3 +- app/src/main/res/values/strings.xml | 3 +- 8 files changed, 145 insertions(+), 94 deletions(-) diff --git a/app/src/main/java/com/nivesh/production/bajajfd/adapter/SectionsPagerAdapter.kt b/app/src/main/java/com/nivesh/production/bajajfd/adapter/SectionsPagerAdapter.kt index 6584a29..b795476 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/adapter/SectionsPagerAdapter.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/adapter/SectionsPagerAdapter.kt @@ -5,13 +5,13 @@ import androidx.fragment.app.FragmentManager import androidx.fragment.app.FragmentPagerAdapter -class SectionsPagerAdapter(manager: FragmentManager,private val fragments: Array, private val NumberOfTabs: Int) : FragmentPagerAdapter(manager, BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT) { +class SectionsPagerAdapter(manager: FragmentManager,private val fragments: Array) : FragmentPagerAdapter(manager, BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT) { private val titles = ArrayList() override fun getItem(position: Int): Fragment = fragments[position] - override fun getCount(): Int = NumberOfTabs + override fun getCount(): Int = fragments.size override fun getPageTitle(position: Int): CharSequence = titles[position] 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 29cf5dd..261d2e2 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 @@ -6,6 +6,7 @@ import android.graphics.Bitmap import android.graphics.drawable.Drawable import android.os.Bundle import android.util.Log +import android.view.View import android.view.WindowManager import android.webkit.WebView import android.webkit.WebViewClient @@ -53,7 +54,7 @@ class BajajFdMainActivity : BaseActivity() { var nomineeGuardianDetails: NomineeGuardianDetails = NomineeGuardianDetails() var getClientDetailsResponse: getClientDetailsResponse = getClientDetailsResponse() var uniqueId: String = "" - private var stepCount: Int = 0 + var stepCount: Int = 0 private lateinit var sectionsPagerAdapter: SectionsPagerAdapter private lateinit var fragments: Array var dialogWebView: Dialog? = null @@ -104,6 +105,9 @@ class BajajFdMainActivity : BaseActivity() { when (code) { 200 -> { stepCount = stepsCountResponse.Response.StepsCount + if (stepCount == 3) { + binding.llStep4.visibility = View.GONE + } getClientDetailsApi(stepsCountResponse.Response.StepsCount) } 650 -> "" @@ -199,7 +203,7 @@ class BajajFdMainActivity : BaseActivity() { private fun setViewPager(stepsCount: Int) { // steps setting - setBackground(selectedShape(), defaultShape(), defaultShape(), defaultShape()) + setBackground(selectedShape(), defaultShape(), defaultShape(), defaultShape(), stepsCount) if (stepCount == 3) { fragments = arrayOf( @@ -219,15 +223,15 @@ class BajajFdMainActivity : BaseActivity() { } // set viewPager - sectionsPagerAdapter = SectionsPagerAdapter(supportFragmentManager, fragments, stepsCount) + sectionsPagerAdapter = SectionsPagerAdapter(supportFragmentManager, fragments) val viewPager: DisableAdapter = binding.viewPager viewPager.adapter = sectionsPagerAdapter viewPager.setPagingEnabled(false) - // if (sectionsPagerAdapter.count > 1) { - viewPager.offscreenPageLimit = stepCount - 1 - // } else { - // viewPager.offscreenPageLimit = 1 - // } + if (sectionsPagerAdapter.count > 1) { + viewPager.offscreenPageLimit = stepCount + } else { + viewPager.offscreenPageLimit = 1 + } viewPager.addOnPageChangeListener(object : ViewPager.OnPageChangeListener { override fun onPageScrolled( position: Int, @@ -243,7 +247,8 @@ class BajajFdMainActivity : BaseActivity() { defaultShape(), defaultShape(), defaultShape(), - defaultShape() + defaultShape(), + stepsCount ) } 1 -> { @@ -251,7 +256,8 @@ class BajajFdMainActivity : BaseActivity() { selectedShape(), defaultShape(), defaultShape(), - defaultShape() + defaultShape(), + stepsCount ) } 2 -> { @@ -259,7 +265,8 @@ class BajajFdMainActivity : BaseActivity() { selectedShape(), selectedShape(), defaultShape(), - defaultShape() + defaultShape(), + stepsCount ) } 3 -> { @@ -267,7 +274,8 @@ class BajajFdMainActivity : BaseActivity() { selectedShape(), selectedShape(), selectedShape(), - defaultShape() + defaultShape(), + stepsCount ) } 4 -> { @@ -275,7 +283,8 @@ class BajajFdMainActivity : BaseActivity() { selectedShape(), selectedShape(), selectedShape(), - selectedShape() + selectedShape(), + stepsCount ) } } @@ -350,12 +359,16 @@ class BajajFdMainActivity : BaseActivity() { drawable: Drawable?, drawable1: Drawable?, drawable2: Drawable?, - drawable3: Drawable? + drawable3: Drawable?, + stepsCount: Int ) { binding.stepOne.background = drawable binding.stepTwo.background = drawable1 binding.stepThree.background = drawable2 - binding.stepFour.background = drawable3 + if (stepsCount == 4) { + binding.stepFour.background = drawable3 + } + } // step 1 response 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 bd77401..4bec0fb 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 @@ -4,10 +4,12 @@ import android.os.Bundle import android.view.LayoutInflater import android.view.View import android.view.ViewGroup +import androidx.core.content.ContextCompat import androidx.fragment.app.Fragment import com.nivesh.production.bajajfd.R import com.nivesh.production.bajajfd.databinding.FragmentBajajfdStepFiveBinding import com.nivesh.production.bajajfd.model.PaymentReQueryResponse +import com.nivesh.production.bajajfd.ui.activity.BajajFdMainActivity class StepFiveBajajFDFragment : Fragment() { @@ -18,19 +20,36 @@ class StepFiveBajajFDFragment : Fragment() { inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle? ): View { - binding.apply { - _binding = FragmentBajajfdStepFiveBinding.inflate(inflater, container, false) - } + + _binding = FragmentBajajfdStepFiveBinding.inflate(inflater, container, false) return binding.root } fun getData(paymentReQueryResponse: PaymentReQueryResponse) { if (paymentReQueryResponse.Response.StatusCode == 200) { - binding.tvCongrats.text = getString(R.string.congratulations) - binding.tvSuccessMessage.text = paymentReQueryResponse.Response.Message + if (paymentReQueryResponse.Response.Message.isNotEmpty()) { + val arrOfStr: List = paymentReQueryResponse.Response.Message.split(" ", limit = 2) + binding.tvCongrats.text = arrOfStr[0] + binding.tvCongrats.setTextColor( + ContextCompat.getColor( + activity as BajajFdMainActivity, + R.color.green + ) + ) + binding.tvSuccessMessage.text = arrOfStr[1] + } }else{ - binding.tvCongrats.text = getString(R.string.sorry) - binding.tvSuccessMessage.text = paymentReQueryResponse.Response.Message + if (paymentReQueryResponse.Response.Message.isNotEmpty()) { + val arrOfStr: List = paymentReQueryResponse.Response.Message.split(" ", limit = 2) + binding.tvCongrats.text = arrOfStr[0] + binding.tvCongrats.setTextColor( + ContextCompat.getColor( + activity as BajajFdMainActivity, + R.color.red + ) + ) + binding.tvSuccessMessage.text = arrOfStr[1] + } } } 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 af72da5..a6678c8 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 @@ -62,39 +62,55 @@ class StepFourBajajFDFragment : Fragment() { } binding.btnNext.setOnClickListener { - 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) - } + selectedList = "" + for (getCodes in listOfCustomer) { + if (getCodes.isSelected) { + selectedList = if (selectedList.isEmpty()) { + getCodes.Value + } else { + selectedList.plus(",").plus(getCodes.Value) } } - if (binding.checkBox.isChecked && selectedList.isNotEmpty()) { - val saveFDOtherDataRequest = SaveFDOtherDataRequest() - saveFDOtherDataRequest.FDProvider = getString(R.string.bajaj) - saveFDOtherDataRequest.UniqueId = (activity as BajajFdMainActivity).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 } + if (validated()) { + if ((activity as BajajFdMainActivity).loginRole == 5) { + val saveFDOtherDataRequest = SaveFDOtherDataRequest() + saveFDOtherDataRequest.FDProvider = getString(R.string.bajaj) + saveFDOtherDataRequest.UniqueId = (activity as BajajFdMainActivity).uniqueId + saveFDOtherDataRequest.Values = selectedList + saveFDOtherDataRequest.NiveshClientCode = + (activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_CODE + saveFDOtherData(saveFDOtherDataRequest, payUrl, value) + } else { + // go to view order + } + } } binding.btnBack.setOnClickListener { - (activity as BajajFdMainActivity).binding.viewPager.currentItem = 2 + if ((activity as BajajFdMainActivity).stepCount == 4) { + (activity as BajajFdMainActivity).binding.viewPager.currentItem = 2 + } else { + (activity as BajajFdMainActivity).binding.viewPager.currentItem = 1 + } + } + } + + private fun validated(): Boolean { + if (selectedList.isEmpty()) { + showDialogValidation( + activity as BajajFdMainActivity, + getString(R.string.validTermsCondition) + ) + return false + } else if (!binding.checkBox.isChecked) { + showDialogValidation( + activity as BajajFdMainActivity, + resources.getString(R.string.validTermsConditions) + ) + return false + } else { + return true } } diff --git a/app/src/main/res/layout/activity_bajaj_fd.xml b/app/src/main/res/layout/activity_bajaj_fd.xml index fbfbeaa..c890513 100644 --- a/app/src/main/res/layout/activity_bajaj_fd.xml +++ b/app/src/main/res/layout/activity_bajaj_fd.xml @@ -12,33 +12,33 @@ android:background="@color/white"> + android:layout_height="wrap_content" + android:background="@color/red" + android:orientation="horizontal"> + android:gravity="center" + android:padding="@dimen/margin_10" + android:src="@drawable/svg_back" /> + android:textAppearance="@style/TextAppearance.Widget.AppCompat.Toolbar.Title" + android:textColor="@color/white" + android:textSize="@dimen/text_size_14" /> @@ -47,9 +47,9 @@ android:id="@+id/llSteps" android:layout_width="match_parent" android:layout_height="wrap_content" + android:background="@color/greyColor4" android:gravity="center" android:orientation="horizontal" - android:background="@color/greyColor4" android:paddingTop="@dimen/margin_10" android:paddingBottom="@dimen/margin_10"> @@ -112,36 +112,43 @@ android:textColor="@color/black" android:textSize="@dimen/text_size_12" /> - - - - - + android:orientation="horizontal"> + + + + + + + \ No newline at end of file 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 e8017e7..9acdd82 100644 --- a/app/src/main/res/layout/fragment_bajajfd_step_five.xml +++ b/app/src/main/res/layout/fragment_bajajfd_step_five.xml @@ -85,26 +85,24 @@ style="@style/semiBoldStyle" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:layout_marginTop="12dp" + android:layout_marginTop="@dimen/margin_12" android:textColor="@color/black" android:textSize="@dimen/text_size_17" android:text="" app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintHorizontal_bias="0.437" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> diff --git a/app/src/main/res/values-hi-rIN/strings.xml b/app/src/main/res/values-hi-rIN/strings.xml index 96dd577..5184113 100644 --- a/app/src/main/res/values-hi-rIN/strings.xml +++ b/app/src/main/res/values-hi-rIN/strings.xml @@ -225,11 +225,9 @@ View Order - Congratulations Your transaction is successful. You will receive fixed deposit certificate\nwithin 3 working days on email Download Invoice - Sorry! Your transaction is unsuccessful. Sorry for the inconvenience please try again later Retry @@ -252,6 +250,7 @@ You Need to Give Permission of Gallery for uploading Image Permission Required ! Permission\'s Required ! + \ 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 96dd577..5184113 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -225,11 +225,9 @@ View Order - Congratulations Your transaction is successful. You will receive fixed deposit certificate\nwithin 3 working days on email Download Invoice - Sorry! Your transaction is unsuccessful. Sorry for the inconvenience please try again later Retry @@ -252,6 +250,7 @@ You Need to Give Permission of Gallery for uploading Image Permission Required ! Permission\'s Required ! + \ No newline at end of file From 824af7e316f84acbae5fd00472564a0757343e6c Mon Sep 17 00:00:00 2001 From: Hemant Khadase Date: Mon, 9 Jan 2023 20:08:19 +0530 Subject: [PATCH 08/10] added prograss dialog --- app/src/main/AndroidManifest.xml | 2 +- .../ui/activity/BajajFdMainActivity.kt | 9 +++- .../ui/fragment/StepFourBajajFDFragment.kt | 7 ++- .../ui/fragment/StepTwoBajajFDFragment.kt | 11 ++-- .../production/bajajfd/util/ProgressUtil.kt | 50 +++++++++++++++++++ app/src/main/res/values-hi-rIN/strings.xml | 2 +- app/src/main/res/values-night/themes.xml | 2 +- app/src/main/res/values/strings.xml | 2 +- app/src/main/res/values/themes.xml | 2 +- settings.gradle | 2 +- 10 files changed, 75 insertions(+), 14 deletions(-) create mode 100644 app/src/main/java/com/nivesh/production/bajajfd/util/ProgressUtil.kt diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 245ae96..8bcec28 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -28,7 +28,7 @@ android:label="@string/appName" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" - android:theme="@style/Theme.NiveshSDK" + android:theme="@style/Theme.NiveshFDSDK" tools:targetApi="31"> " + Gson().toJson(getClientDetailsRequest)) + showLoading(this@BajajFdMainActivity) viewModel.getClientDetails(getClientDetailsRequest, token, this) viewModel.getClientDetailsMutableData.observe(this) { response -> when (response) { @@ -191,7 +195,7 @@ class BajajFdMainActivity : BaseActivity() { } } is Resource.Loading -> { - + hideLoading() } is Resource.DataError -> { @@ -441,6 +445,7 @@ class BajajFdMainActivity : BaseActivity() { paymentReQueryRequest.UniqueId = uniqueId paymentReQueryRequest.NiveshClientCode = getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_CODE + ProgressUtil.showLoading(this@BajajFdMainActivity) viewModel.getPaymentReQuery(paymentReQueryRequest, token, this) viewModel.getPaymentReQueryMutableData.observe(this) { response -> when (response) { @@ -471,7 +476,7 @@ class BajajFdMainActivity : BaseActivity() { } } is Resource.Loading -> { - + hideLoading() } 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 a6678c8..8918585 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 @@ -17,6 +17,7 @@ import com.nivesh.production.bajajfd.ui.activity.BajajFdMainActivity import com.nivesh.production.bajajfd.util.Common import com.nivesh.production.bajajfd.util.Common.Companion.showDialogValidation import com.nivesh.production.bajajfd.util.Constants.Companion.token +import com.nivesh.production.bajajfd.util.ProgressUtil import com.nivesh.production.bajajfd.util.Resource class StepFourBajajFDFragment : Fragment() { @@ -115,6 +116,7 @@ class StepFourBajajFDFragment : Fragment() { } private fun saveFDOtherData(data: SaveFDOtherDataRequest, payUrl: String, value: String) { + ProgressUtil.showLoading(activity as BajajFdMainActivity) (activity as BajajFdMainActivity).viewModel.saveFDOtherData( data, token, @@ -151,7 +153,7 @@ class StepFourBajajFDFragment : Fragment() { } } is Resource.Loading -> { - + ProgressUtil.hideLoading() } is Resource.DataError -> { @@ -233,6 +235,7 @@ class StepFourBajajFDFragment : Fragment() { getFDDetailsRequest.NiveshClientCode = (activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_CODE getFDDetailsRequest.UniqueId = (activity as BajajFdMainActivity).uniqueId + ProgressUtil.showLoading(activity as BajajFdMainActivity) (activity as BajajFdMainActivity).viewModel.getFDDetails( getFDDetailsRequest, token, @@ -282,7 +285,7 @@ class StepFourBajajFDFragment : Fragment() { } } is Resource.Loading -> { - + ProgressUtil.hideLoading() } 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 fd2dfd1..f552c44 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 @@ -42,6 +42,7 @@ 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.ProgressUtil import com.nivesh.production.bajajfd.util.Resource import java.util.* @@ -713,6 +714,7 @@ class StepTwoBajajFDFragment : Fragment() { } private fun createFDApi(data: CreateFDRequest) { + ProgressUtil.showLoading(activity as BajajFdMainActivity) (activity as BajajFdMainActivity).viewModel.createFDApi(data, token, activity as BajajFdMainActivity) (activity as BajajFdMainActivity).viewModel.getFDResponseMutableData.observe(viewLifecycleOwner) { response -> when (response) { @@ -747,7 +749,7 @@ class StepTwoBajajFDFragment : Fragment() { } } is Resource.Loading -> { - + ProgressUtil.hideLoading() } is Resource.DataError -> { @@ -872,6 +874,7 @@ class StepTwoBajajFDFragment : Fragment() { bankValidationApiRequest.PhoneNo = phoneNumber bankValidationApiRequest.RoleId = loginRole bankValidationApiRequest.BankNo = 1 + ProgressUtil.showLoading(activity as BajajFdMainActivity) (activity as BajajFdMainActivity).viewModel.bankValidationApi( bankValidationApiRequest, token, @@ -939,7 +942,7 @@ class StepTwoBajajFDFragment : Fragment() { } } is Resource.Loading -> { - + ProgressUtil.hideLoading() } is Resource.DataError -> { @@ -1706,6 +1709,7 @@ class StepTwoBajajFDFragment : Fragment() { } private fun apiForEligibleBankList() { + ProgressUtil.showLoading(activity as BajajFdMainActivity) (activity as BajajFdMainActivity).viewModel.bankListApi(token,getString(R.string.language), activity as BajajFdMainActivity) (activity as BajajFdMainActivity).viewModel.getFDBankListMutableData.observe(viewLifecycleOwner) { response -> when (response) { @@ -1740,7 +1744,7 @@ class StepTwoBajajFDFragment : Fragment() { } } is Resource.Loading -> { - + ProgressUtil.hideLoading() } is Resource.DataError -> { @@ -1751,7 +1755,6 @@ class StepTwoBajajFDFragment : Fragment() { private fun refreshToken() { - } private fun dialogForBankList(bankList: List) { diff --git a/app/src/main/java/com/nivesh/production/bajajfd/util/ProgressUtil.kt b/app/src/main/java/com/nivesh/production/bajajfd/util/ProgressUtil.kt new file mode 100644 index 0000000..c6db944 --- /dev/null +++ b/app/src/main/java/com/nivesh/production/bajajfd/util/ProgressUtil.kt @@ -0,0 +1,50 @@ +package com.nivesh.production.bajajfd.util + +import android.annotation.SuppressLint +import android.app.AlertDialog +import android.content.Context +import android.graphics.Color +import android.graphics.drawable.ColorDrawable +import android.util.Log +import android.view.Window +import android.widget.ProgressBar + +@SuppressLint("StaticFieldLeak") +object ProgressUtil{ + + private lateinit var dialogBuilder: AlertDialog.Builder + private lateinit var alertDialog: AlertDialog + private lateinit var pDialog: ProgressBar + + + fun showLoading(ctx: Context){ + // instantiating the lateInit objects + dialogBuilder= AlertDialog.Builder(ctx) + pDialog= ProgressBar(ctx) + + // setting up the dialog + dialogBuilder.setCancelable(false) + dialogBuilder.setView(pDialog) + alertDialog=dialogBuilder.create() + + // magic of transparent background goes here + alertDialog.requestWindowFeature(Window.FEATURE_NO_TITLE) + // setting the alertDialog's BackgroundDrawable as the color resource of any color with 1% opacity + alertDialog.window?.setBackgroundDrawable(ColorDrawable(Color.parseColor("#00141414"))) + + // finally displaying the Alertdialog containing the ProgressBar + alertDialog.show() + + } + + + fun hideLoading(){ + try { + if(alertDialog.isShowing){ + alertDialog.dismiss() + } + } catch (e: UninitializedPropertyAccessException) { + Log.e("TAG","AlertDialog UninitializedPropertyAccessException") + } + } +} \ No newline at end of file diff --git a/app/src/main/res/values-hi-rIN/strings.xml b/app/src/main/res/values-hi-rIN/strings.xml index 5184113..02fa1f2 100644 --- a/app/src/main/res/values-hi-rIN/strings.xml +++ b/app/src/main/res/values-hi-rIN/strings.xml @@ -1,5 +1,5 @@ - NiveshSDK + NiveshFDSDK Bajaj App nivesh diff --git a/app/src/main/res/values-night/themes.xml b/app/src/main/res/values-night/themes.xml index e5a7f0c..103d5f1 100644 --- a/app/src/main/res/values-night/themes.xml +++ b/app/src/main/res/values-night/themes.xml @@ -1,6 +1,6 @@ -