Skip to content
This repository has been archived by the owner on Mar 17, 2023. It is now read-only.

App crash if big size image is provided #105

Open
farrakhj opened this issue Oct 29, 2021 · 4 comments
Open

App crash if big size image is provided #105

farrakhj opened this issue Oct 29, 2021 · 4 comments

Comments

@farrakhj
Copy link

farrakhj commented Oct 29, 2021

In the below method from EditImageActivity app crashes if large image(provided 14MB image) is provided.
private Single loadImage(String filePath) {
return Single.fromCallable(() -> BitmapUtils.getSampledBitmap(filePath, imageWidth,
imageHeight));
}

public static Bitmap getSampledBitmap(String filePath, int reqWidth, int reqHeight) throws FileNotFoundException {
BitmapFactory.Options options = new BitmapFactory.Options();
options.inJustDecodeBounds = true;
options.inSampleSize = calculateInSampleSize(options, reqWidth, reqHeight);
options.inPreferredConfig = Bitmap.Config.RGB_565;
options.inJustDecodeBounds = false;
return BitmapFactory.decodeFile(filePath, options);
}

If image size is small or big getSampleBitmap method always calculate sample size as 1.

If anyone faced this issue please post against this issue.

@farrakhj
Copy link
Author

farrakhj commented Nov 1, 2021

Above code create BitmapFactory.Options with options instance. options instance is never loaded with filePath image data. So this always return sampleSize 1 for every image. The correct code should be as below. Line added in highlighted:

public static Bitmap getSampledBitmap(String filePath, int reqWidth, int reqHeight) throws FileNotFoundException {
BitmapFactory.Options options = new BitmapFactory.Options();
options.inJustDecodeBounds = true;

BitmapFactory.decodeFile(filePath, options);

options.inSampleSize = calculateInSampleSize(options, reqWidth, reqHeight);
options.inPreferredConfig = Bitmap.Config.RGB_565;
options.inJustDecodeBounds = false;`
return BitmapFactory.decodeFile(filePath, options);
}

@farrakhj
Copy link
Author

farrakhj commented Nov 1, 2021

@iamutkarshtiwari

@iamutkarshtiwari
Copy link
Owner

Hi @farrakhj, thank you for reporting this issue!
Oh, you already found the cause. Would you like to make a PR for it?

@farrakhj
Copy link
Author

farrakhj commented Apr 1, 2022

Sure i would like to create PR for it. Can you please guide the steps as i am new at GitHub?

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants