Skip to content

Commit a346218

Browse files
committed
Avoid rendering bitmaps above 100MB
1 parent de14699 commit a346218

File tree

2 files changed

+11
-1
lines changed

2 files changed

+11
-1
lines changed

android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/cell/SplitTunnelingCell.kt

+4-1
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ import kotlinx.coroutines.Dispatchers
2828
import kotlinx.coroutines.launch
2929
import net.mullvad.mullvadvpn.R
3030
import net.mullvad.mullvadvpn.compose.component.SpacedColumn
31+
import net.mullvad.mullvadvpn.compose.util.isBelowMaxBitmapSize
3132
import net.mullvad.mullvadvpn.lib.theme.AppTheme
3233
import net.mullvad.mullvadvpn.lib.theme.Dimens
3334
import net.mullvad.mullvadvpn.lib.theme.color.Alpha40
@@ -75,7 +76,9 @@ fun SplitTunnelingCell(
7576
LaunchedEffect(packageName) {
7677
launch(Dispatchers.IO) {
7778
val bitmap = onResolveIcon(packageName ?: "")
78-
icon = bitmap?.asImageBitmap()
79+
if (bitmap != null && bitmap.isBelowMaxBitmapSize()) {
80+
icon = bitmap.asImageBitmap()
81+
}
7982
}
8083
}
8184
BaseCell(
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
package net.mullvad.mullvadvpn.compose.util
2+
3+
import android.graphics.Bitmap
4+
5+
private const val MAX_BITMAP_SIZE_BYTES = 100 * 1024 * 1024
6+
7+
fun Bitmap.isBelowMaxBitmapSize(): Boolean = byteCount < MAX_BITMAP_SIZE_BYTES

0 commit comments

Comments
 (0)