I'm testing one functionality of an app in different devices and it happens in one of them:
When I calls onActivityResult, it works normally but in the second time it's called, it reset the previous data registered in the last call. It works normally in most of devices but this one exceptionally cleans the view when comes from activity result.
So basically when I selected the second image either from gallery or for camera intent, it resets the previous selected file.
This is how the data it's being retrieved:
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
super.onActivityResult(requestCode, resultCode, data)
if(resultCode == RESULT_OK) {
val selectedImage: Uri?
if(requestCode == GALLERY_1 || requestCode == GALLERY_2 || requestCode == GALLERY_3) {
selectedImage = data!!.data
configImagePersistentPermission(selectedImage)
} else {
val bitmap = data!!.extras!!.get("data") as Bitmap
selectedImage = configImagePathUri(requireContext(), bitmap)
}
try {
when (requestCode) {
GALLERY_1 -> {
binding.imageDoc1.setImageURI(selectedImage)
configResetImageView(0)
}
CAMERA_1 -> {
binding.imageDoc1.setImageURI(selectedImage)
configResetImageView(0)
}
GALLERY_2 -> {
binding.imageDoc2.setImageURI(selectedImage)
configResetImageView(1)
}
CAMERA_2 -> {
binding.imageDoc2.setImageURI(selectedImage)
configResetImageView(1)
}
GALLERY_3 -> {
binding.imageDoc3.setImageURI(selectedImage)
configResetImageView(2)
}
CAMERA_3 -> {
binding.imageDoc3.setImageURI(selectedImage)
configResetImageView(2)
}
}
imageList.add(selectedImage.toString())
} catch (e: Exception){
e.printStackTrace()
}
}
}
How to prevent losing the previous recorded data in this scenario?
Thanks in advance