0
0
mirror of https://github.com/ankidroid/Anki-Android.git synced 2024-09-19 19:42:17 +02:00
Anki-Android/.idea
David Allison ea8ceeace1
fix: crash if image dimensions are too large (#15452)
* refactor: invert 'if'

* refactor: extract logic to BackgroundImage

* fix: large bitmap crashes DeckPicker

An image < 10MB can decompress to >100MB, which crashes

Example was: 4 * 4921 * 6983 = 137453372 bytes

This call-stack did not include our code

```
java.lang.RuntimeException: Canvas: trying to draw too large(137453372bytes) bitmap.
	at android.graphics.RecordingCanvas.throwIfCannotDraw(RecordingCanvas.java:280)
	at android.graphics.BaseRecordingCanvas.drawBitmap(BaseRecordingCanvas.java:88)
	at android.graphics.drawable.BitmapDrawable.draw(BitmapDrawable.java:548)
	at android.widget.ImageView.onDraw(ImageView.java:1436)
```

Fixes 15450

* crash fix for background image too large

The check internally is `> MAX_BITMAP_SIZE`

Issue 15450
2024-02-08 10:43:45 -05:00
..
codeStyles chore: use recommended Kotlin code style settings 2022-04-29 08:22:35 -05:00
dictionaries fix: crash if image dimensions are too large (#15452) 2024-02-08 10:43:45 -05:00
icon.svg dev: add IDEA project icon 2023-11-13 17:42:51 -05:00