Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 08beea71 authored by sergeyv's avatar sergeyv Committed by Sergey Vasilinets
Browse files

Throw if BitmapFactory.Options.inBitmap is HARDWARE

Test: BitmapRegionDecoderTest#testHardwareBitmapIn
bug:34415265
Change-Id: I58061504dd42ba918f89e1e5daf668f7601ca8d3
parent 5dab2f29
Loading
Loading
Loading
Loading
+6 −1
Original line number Diff line number Diff line
@@ -433,10 +433,15 @@ public class BitmapFactory {
        static void validate(Options opts) {
            if (opts == null) return;

            if (opts.inMutable && opts.inPreferredConfig == Bitmap.Config.HARDWARE) {
            if (opts.inBitmap != null && opts.inBitmap.getConfig() == Bitmap.Config.HARDWARE) {
                throw new IllegalArgumentException("Bitmaps with Config.HARWARE are always immutable");
            }

            if (opts.inMutable && opts.inPreferredConfig == Bitmap.Config.HARDWARE) {
                throw new IllegalArgumentException("Bitmaps with Config.HARDWARE cannot be " +
                        "decoded into - they are immutable");
            }

            if (opts.inPreferredColorSpace != null) {
                if (!(opts.inPreferredColorSpace instanceof ColorSpace.Rgb)) {
                    throw new IllegalArgumentException("The destination color space must use the " +