From 091607da08649d19e2146f1dd65a85e986e04448 Mon Sep 17 00:00:00 2001 From: James Rich <2199651+jamesarich@users.noreply.github.com> Date: Wed, 28 May 2025 12:32:42 -0500 Subject: [PATCH] Fix: Handle null or empty release list in `getLatestRelease` (#1967) --- .../repository/api/FirmwareReleaseLocalDataSource.kt | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/com/geeksville/mesh/repository/api/FirmwareReleaseLocalDataSource.kt b/app/src/main/java/com/geeksville/mesh/repository/api/FirmwareReleaseLocalDataSource.kt index e015ba50f..fd723e69c 100644 --- a/app/src/main/java/com/geeksville/mesh/repository/api/FirmwareReleaseLocalDataSource.kt +++ b/app/src/main/java/com/geeksville/mesh/repository/api/FirmwareReleaseLocalDataSource.kt @@ -52,8 +52,12 @@ class FirmwareReleaseLocalDataSource @Inject constructor( suspend fun getLatestRelease(releaseType: FirmwareReleaseType): FirmwareReleaseEntity? = withContext(Dispatchers.IO) { val releases = firmwareReleaseDao.getReleasesByType(releaseType) - val latestRelease = - releases?.maxBy { it.asDeviceVersion() } - return@withContext latestRelease + if (releases.isNullOrEmpty()) { + return@withContext null + } else { + val latestRelease = + releases.maxBy { it.asDeviceVersion() } + return@withContext latestRelease + } } }