diff options
| author | David Göransson <david.goransson@mullvad.net> | 2024-04-04 15:28:06 +0200 |
|---|---|---|
| committer | David Göransson <david.goransson@mullvad.net> | 2024-04-05 15:18:13 +0200 |
| commit | 704fa0ba811a9b64ad6715ac767879dee4ce1efe (patch) | |
| tree | 2c61d8a69f331ae3e4d4c5171e5251090ec9411e | |
| parent | 5d942939d93f2a5624291fadb206d8429f57c1c8 (diff) | |
| download | mullvadvpn-704fa0ba811a9b64ad6715ac767879dee4ce1efe.tar.xz mullvadvpn-704fa0ba811a9b64ad6715ac767879dee4ce1efe.zip | |
Avoid rendering bitmaps above 100MB
| -rw-r--r-- | android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/cell/SplitTunnelingCell.kt | 5 | ||||
| -rw-r--r-- | android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/util/Bitmap.kt | 7 |
2 files changed, 11 insertions, 1 deletions
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/cell/SplitTunnelingCell.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/cell/SplitTunnelingCell.kt index 98c3767393..1bf8acf731 100644 --- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/cell/SplitTunnelingCell.kt +++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/cell/SplitTunnelingCell.kt @@ -28,6 +28,7 @@ import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch import net.mullvad.mullvadvpn.R import net.mullvad.mullvadvpn.compose.component.SpacedColumn +import net.mullvad.mullvadvpn.compose.util.isBelowMaxBitmapSize import net.mullvad.mullvadvpn.lib.theme.AppTheme import net.mullvad.mullvadvpn.lib.theme.Dimens import net.mullvad.mullvadvpn.lib.theme.color.Alpha40 @@ -75,7 +76,9 @@ fun SplitTunnelingCell( LaunchedEffect(packageName) { launch(Dispatchers.IO) { val bitmap = onResolveIcon(packageName ?: "") - icon = bitmap?.asImageBitmap() + if (bitmap != null && bitmap.isBelowMaxBitmapSize()) { + icon = bitmap.asImageBitmap() + } } } BaseCell( diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/util/Bitmap.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/util/Bitmap.kt new file mode 100644 index 0000000000..9a3d030780 --- /dev/null +++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/util/Bitmap.kt @@ -0,0 +1,7 @@ +package net.mullvad.mullvadvpn.compose.util + +import android.graphics.Bitmap + +private const val MAX_BITMAP_SIZE_BYTES = 100 * 1024 * 1024 + +fun Bitmap.isBelowMaxBitmapSize(): Boolean = byteCount < MAX_BITMAP_SIZE_BYTES |
