From 813b5ee62637fda86becbc2785e6ebbd67196ff8 Mon Sep 17 00:00:00 2001 From: Hemant Khadase Date: Mon, 9 Jan 2023 16:36:06 +0530 Subject: [PATCH 1/3] 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 2/3] 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 3/3] 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() } }