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..f8a869f 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,14 +2,12 @@ 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 @@ -21,7 +19,6 @@ 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 @@ -39,10 +36,8 @@ import com.nivesh.production.bajajfd.util.ImageUtil import com.nivesh.production.bajajfd.util.Resource import java.io.* - class StepThreeBajajFDFragment : Fragment() { - private var _binding: FragmentBajajfdStepThreeBinding? = null private val binding get() = _binding!! @@ -53,6 +48,7 @@ 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 = "" @@ -69,49 +65,17 @@ 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 requestCameraPermission = registerForActivityResult( + private val requestPermission = 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( @@ -126,6 +90,12 @@ 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) { @@ -243,76 +213,57 @@ class StepThreeBajajFDFragment : Fragment() { getString(R.string.chooseFromGallery), getString(R.string.cancel) ) - ) { dialog: DialogInterface, pos -> - when (pos) { + ) + + { dialog: DialogInterface, pos -> + when(pos) + { 0 -> { - if (hasPermissions( - activity as BajajFdMainActivity, - Manifest.permission.CAMERA - ) - ) { + + val permission = ContextCompat.checkSelfPermission( + activity as BajajFdMainActivity, + Manifest.permission.CAMERA + ) + if (permission == PackageManager.PERMISSION_GRANTED) { takeImage() } else { - onClickRequestPermission() + requestPermission.launch( + Manifest.permission.CAMERA + ) } dialog.dismiss() + } - 1 -> { - if (hasPermissions(activity as BajajFdMainActivity, *permissions)) { + + 1-> + { + + val permission = ContextCompat.checkSelfPermission( + activity as BajajFdMainActivity, + Manifest.permission.READ_EXTERNAL_STORAGE + ) + if (permission == PackageManager.PERMISSION_GRANTED) { selectImageIntent?.launch("image/*") } else { - requestGalleryPermission.launch(permissions) + requestPermission.launch( + Manifest.permission.READ_EXTERNAL_STORAGE + ) } + dialog.dismiss() + } - else -> { + else-> + { 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 - ) } } + builder.show() } - 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/fragment/StepTwoBajajFDFragment.kt b/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepTwoBajajFDFragment.kt index fc1f814..f207ee2 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 @@ -69,6 +69,7 @@ class StepTwoBajajFDFragment : Fragment() { private lateinit var rbBank: RadioButton private lateinit var rbPaymentMode: RadioButton + private var cal = Calendar.getInstance() override fun onCreateView(