pankaj 2 years ago
parent
commit
6eaae8f1f1
2 changed files with 44 additions and 92 deletions
  1. +43
    -92
      app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepThreeBajajFDFragment.kt
  2. +1
    -0
      app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepTwoBajajFDFragment.kt

+ 43
- 92
app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepThreeBajajFDFragment.kt View File

@ -2,14 +2,12 @@ package com.nivesh.production.bajajfd.ui.fragment
import android.Manifest import android.Manifest
import android.annotation.SuppressLint import android.annotation.SuppressLint
import android.app.Activity
import android.content.DialogInterface import android.content.DialogInterface
import android.content.pm.PackageManager import android.content.pm.PackageManager
import android.database.Cursor import android.database.Cursor
import android.graphics.Bitmap import android.graphics.Bitmap
import android.graphics.BitmapFactory import android.graphics.BitmapFactory
import android.net.Uri import android.net.Uri
import android.os.Build
import android.os.Bundle import android.os.Bundle
import android.provider.OpenableColumns import android.provider.OpenableColumns
import android.util.Base64 import android.util.Base64
@ -21,7 +19,6 @@ import android.widget.*
import androidx.activity.result.ActivityResultLauncher import androidx.activity.result.ActivityResultLauncher
import androidx.activity.result.contract.ActivityResultContracts import androidx.activity.result.contract.ActivityResultContracts
import androidx.appcompat.app.AlertDialog import androidx.appcompat.app.AlertDialog
import androidx.core.app.ActivityCompat
import androidx.core.content.ContextCompat import androidx.core.content.ContextCompat
import androidx.core.content.FileProvider import androidx.core.content.FileProvider
import androidx.fragment.app.Fragment import androidx.fragment.app.Fragment
@ -39,10 +36,8 @@ import com.nivesh.production.bajajfd.util.ImageUtil
import com.nivesh.production.bajajfd.util.Resource import com.nivesh.production.bajajfd.util.Resource
import java.io.* import java.io.*
class StepThreeBajajFDFragment : Fragment() { class StepThreeBajajFDFragment : Fragment() {
private var _binding: FragmentBajajfdStepThreeBinding? = null private var _binding: FragmentBajajfdStepThreeBinding? = null
private val binding get() = _binding!! private val binding get() = _binding!!
@ -53,6 +48,7 @@ class StepThreeBajajFDFragment : Fragment() {
private val mapImage: HashMap<String, String> = HashMap() private val mapImage: HashMap<String, String> = HashMap()
private lateinit var listOfDocType: List<GetCodes> private lateinit var listOfDocType: List<GetCodes>
private var check: Array<String>? = null
private var panString: String = "" private var panString: String = ""
private var photoString: String = "" private var photoString: String = ""
@ -69,49 +65,17 @@ class StepThreeBajajFDFragment : Fragment() {
private val secondDocUpload: Int = 4 private val secondDocUpload: Int = 4
private var actionType: Int = -1 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<String>()
private val requestCameraPermission = registerForActivityResult(
private val requestPermission = registerForActivityResult(
ActivityResultContracts.RequestPermission() ActivityResultContracts.RequestPermission()
) { isGranted: Boolean -> ) { isGranted: Boolean ->
if (isGranted) { if (isGranted) {
Log.e("Permission: ", "Granted")
Log.e("permission:", "Granted")
} else { } 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( override fun onCreateView(
@ -126,6 +90,12 @@ class StepThreeBajajFDFragment : Fragment() {
override fun onViewCreated(view: View, savedInstanceState: Bundle?) { override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState) super.onViewCreated(view, savedInstanceState)
check = arrayOf(
getString(R.string.takePhoto),
getString(R.string.chooseFromGallery),
getString(R.string.cancel)
)
selectImageIntent = registerForActivityResult(ActivityResultContracts.GetContent()) selectImageIntent = registerForActivityResult(ActivityResultContracts.GetContent())
{ uri: Uri? -> { uri: Uri? ->
if (uri != null) { if (uri != null) {
@ -243,76 +213,57 @@ class StepThreeBajajFDFragment : Fragment() {
getString(R.string.chooseFromGallery), getString(R.string.chooseFromGallery),
getString(R.string.cancel) getString(R.string.cancel)
) )
) { dialog: DialogInterface, pos ->
when (pos) {
)
{ dialog: DialogInterface, pos ->
when(pos)
{
0 -> { 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() takeImage()
} else { } else {
onClickRequestPermission()
requestPermission.launch(
Manifest.permission.CAMERA
)
} }
dialog.dismiss() 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/*") selectImageIntent?.launch("image/*")
} else { } else {
requestGalleryPermission.launch(permissions)
requestPermission.launch(
Manifest.permission.READ_EXTERNAL_STORAGE
)
} }
dialog.dismiss() dialog.dismiss()
} }
else -> {
else->
{
dialog.dismiss() 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?) { private fun setOtherUploadLayout(itemName: String?) {
binding.tvAadhaarFront.text = itemName.plus(" Front *") binding.tvAadhaarFront.text = itemName.plus(" Front *")
if (binding.tvAadhaarBack.visibility == View.VISIBLE) binding.tvAadhaarBack.visibility = if (binding.tvAadhaarBack.visibility == View.VISIBLE) binding.tvAadhaarBack.visibility =


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

@ -69,6 +69,7 @@ class StepTwoBajajFDFragment : Fragment() {
private lateinit var rbBank: RadioButton private lateinit var rbBank: RadioButton
private lateinit var rbPaymentMode: RadioButton private lateinit var rbPaymentMode: RadioButton
private var cal = Calendar.getInstance() private var cal = Calendar.getInstance()
override fun onCreateView( override fun onCreateView(


Loading…
Cancel
Save

Powered by TurnKey Linux.