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 0abdaac..fc2943d 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,10 +4,17 @@ import android.Manifest import android.annotation.SuppressLint import android.app.ActionBar.LayoutParams import android.app.Dialog +import android.content.Intent import android.content.pm.PackageManager import android.database.Cursor +import android.graphics.Bitmap +import android.graphics.BitmapRegionDecoder +import android.graphics.ImageDecoder +import android.graphics.Rect import android.net.Uri +import android.os.Build import android.os.Bundle +import android.provider.MediaStore import android.provider.OpenableColumns import android.util.Base64 import android.util.Log @@ -17,6 +24,7 @@ import android.view.ViewGroup import android.widget.* import androidx.activity.result.ActivityResultLauncher import androidx.activity.result.contract.ActivityResultContracts +import androidx.annotation.RequiresApi import androidx.core.content.ContextCompat import androidx.core.content.FileProvider import androidx.lifecycle.ViewModelProvider @@ -39,6 +47,7 @@ import java.io.FileInputStream import java.io.IOException import java.io.InputStream + class StepThreeBajajFDFragment : BaseFragment() { private var latestTmpUri: Uri? = null @@ -52,6 +61,7 @@ class StepThreeBajajFDFragment : BaseFragment() { private lateinit var dialog: Dialog private var takeImageResult: ActivityResultLauncher? = null private var selectImageIntent: ActivityResultLauncher? = null + private var launcher:ActivityResultLauncher? = null private var panString: String = "" private var photoString: String = "" @@ -95,6 +105,7 @@ class StepThreeBajajFDFragment : BaseFragment() { return binding.root } + @RequiresApi(Build.VERSION_CODES.P) override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) stepThreeBajajFDViewModel = ViewModelProvider( @@ -105,7 +116,14 @@ class StepThreeBajajFDFragment : BaseFragment() { selectImageIntent = registerForActivityResult(ActivityResultContracts.GetContent()) { uri: Uri? -> if (uri != null) { - uploadDocument(uri) + val source = ImageDecoder.createSource(requireActivity().contentResolver, uri) + val bitmap = ImageDecoder.decodeBitmap(source) + + // External sdcard location +// val mediaStorageDir = File( +// requireActivity().cacheDir, +// ) +// uploadDocument(uri) } } @@ -118,6 +136,22 @@ class StepThreeBajajFDFragment : BaseFragment() { } } + // +// launcher = registerForActivityResult( +// ActivityResultContracts.StartActivityForResult() +// ) { result: ActivityResult -> +// if (result.resultCode == Activity.RESULT_OK +// && result.data != null +// ) { +// val photoUri = result.data!!.data +// if (photoUri != null) { +// uploadDocument(photoUri) +// } +////use photoUri here +// } +// } + // + binding.btnNext.setOnClickListener { if (validate()) { uploadDocApi( @@ -208,6 +242,9 @@ class StepThreeBajajFDFragment : BaseFragment() { Manifest.permission.READ_EXTERNAL_STORAGE ) if (permission == PackageManager.PERMISSION_GRANTED) { +// val intent = +// Intent(Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_URI) +// launcher?.launch(intent) selectImageIntent?.launch("image/*") } else { requestPermission.launch(