handle gallery picker result based on preference

Signed-off-by: parneet-guraya <gurayaparneet@gmail.com>
This commit is contained in:
parneet-guraya 2024-10-17 20:31:06 +05:30
parent 7a1090911f
commit a28d32b7ee
No known key found for this signature in database
GPG key ID: 63B807C4B2A9064B
2 changed files with 27 additions and 16 deletions

View file

@ -234,9 +234,7 @@ public class ContributionController {
private void initiateGalleryUpload(final Activity activity, ActivityResultLauncher<Intent> resultLauncher, private void initiateGalleryUpload(final Activity activity, ActivityResultLauncher<Intent> resultLauncher,
final boolean allowMultipleUploads) { final boolean allowMultipleUploads) {
setPickerConfiguration(activity, allowMultipleUploads); setPickerConfiguration(activity, allowMultipleUploads);
boolean openDocumentIntentPreferred = defaultKvStore.getBoolean( FilePicker.openGallery(activity, resultLauncher,0, isDocumentPhotoPickerPreferred());
"openDocumentPhotoPickerPref", true);
FilePicker.openGallery(activity, resultLauncher,0, openDocumentIntentPreferred);
} }
/** /**
@ -262,9 +260,18 @@ public class ContributionController {
FilePicker.openCameraForImage(activity, resultLauncher,0); FilePicker.openCameraForImage(activity, resultLauncher,0);
} }
private boolean isDocumentPhotoPickerPreferred(){
return defaultKvStore.getBoolean(
"openDocumentPhotoPickerPref", true);
}
public void onPictureReturnedFromGallery(ActivityResult result, Activity activity, FilePicker.Callbacks callbacks){ public void onPictureReturnedFromGallery(ActivityResult result, Activity activity, FilePicker.Callbacks callbacks){
if(isDocumentPhotoPickerPreferred()){
FilePicker.onPictureReturnedFromDocuments(result, activity, callbacks);
} else {
FilePicker.onPictureReturnedFromGallery(result,activity,callbacks); FilePicker.onPictureReturnedFromGallery(result,activity,callbacks);
} }
}
public void onPictureReturnedFromCustomSelector(ActivityResult result, Activity activity, @NonNull FilePicker.Callbacks callbacks) { public void onPictureReturnedFromCustomSelector(ActivityResult result, Activity activity, @NonNull FilePicker.Callbacks callbacks) {
FilePicker.onPictureReturnedFromCustomSelector(result,activity,callbacks); FilePicker.onPictureReturnedFromCustomSelector(result,activity,callbacks);

View file

@ -172,7 +172,7 @@ public class FilePicker implements Constants {
requestCode == RequestCodes.PICK_PICTURE_FROM_CUSTOM_SELECTOR) { requestCode == RequestCodes.PICK_PICTURE_FROM_CUSTOM_SELECTOR) {
if (resultCode == Activity.RESULT_OK) { if (resultCode == Activity.RESULT_OK) {
if (requestCode == RequestCodes.PICK_PICTURE_FROM_DOCUMENTS && !isPhoto(data)) { if (requestCode == RequestCodes.PICK_PICTURE_FROM_DOCUMENTS && !isPhoto(data)) {
onPictureReturnedFromDocuments(data, activity, callbacks); // onPictureReturnedFromDocuments(data, activity, callbacks);
} else if (requestCode == RequestCodes.PICK_PICTURE_FROM_GALLERY && !isPhoto(data)) { } else if (requestCode == RequestCodes.PICK_PICTURE_FROM_GALLERY && !isPhoto(data)) {
// onPictureReturnedFromGallery(data, activity, callbacks); // onPictureReturnedFromGallery(data, activity, callbacks);
} else if (requestCode == RequestCodes.PICK_PICTURE_FROM_CUSTOM_SELECTOR) { } else if (requestCode == RequestCodes.PICK_PICTURE_FROM_CUSTOM_SELECTOR) {
@ -248,9 +248,10 @@ public class FilePicker implements Constants {
return intent; return intent;
} }
private static void onPictureReturnedFromDocuments(Intent data, Activity activity, @NonNull FilePicker.Callbacks callbacks) { public static void onPictureReturnedFromDocuments(ActivityResult result, Activity activity, @NonNull FilePicker.Callbacks callbacks) {
if(result.getResultCode() == Activity.RESULT_OK){
try { try {
Uri photoPath = data.getData(); Uri photoPath = result.getData().getData();
UploadableFile photoFile = PickedFiles.pickedExistingPicture(activity, photoPath); UploadableFile photoFile = PickedFiles.pickedExistingPicture(activity, photoPath);
callbacks.onImagesPicked(singleFileList(photoFile), FilePicker.ImageSource.DOCUMENTS, restoreType(activity)); callbacks.onImagesPicked(singleFileList(photoFile), FilePicker.ImageSource.DOCUMENTS, restoreType(activity));
@ -261,6 +262,9 @@ public class FilePicker implements Constants {
e.printStackTrace(); e.printStackTrace();
callbacks.onImagePickerError(e, FilePicker.ImageSource.DOCUMENTS, restoreType(activity)); callbacks.onImagePickerError(e, FilePicker.ImageSource.DOCUMENTS, restoreType(activity));
} }
} else {
callbacks.onCanceled(FilePicker.ImageSource.DOCUMENTS, restoreType(activity));
}
} }
/** /**