mirror of
https://github.com/meshtastic/Meshtastic-Android.git
synced 2026-04-20 22:23:37 +00:00
parent
6e4a5b2812
commit
41349ad9cc
2 changed files with 9 additions and 1 deletions
|
|
@ -20,6 +20,7 @@ package com.geeksville.mesh.database.entity
|
|||
import androidx.room.ColumnInfo
|
||||
import androidx.room.Entity
|
||||
import androidx.room.PrimaryKey
|
||||
import com.geeksville.mesh.model.DeviceVersion
|
||||
import com.geeksville.mesh.network.model.NetworkFirmwareRelease
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
|
|
@ -73,6 +74,12 @@ data class FirmwareRelease(
|
|||
val releaseType: FirmwareReleaseType = FirmwareReleaseType.STABLE,
|
||||
)
|
||||
|
||||
fun FirmwareReleaseEntity.asDeviceVersion(): DeviceVersion {
|
||||
return DeviceVersion(
|
||||
id.substringBeforeLast(".").replace("v", "")
|
||||
)
|
||||
}
|
||||
|
||||
enum class FirmwareReleaseType {
|
||||
STABLE,
|
||||
ALPHA
|
||||
|
|
|
|||
|
|
@ -20,6 +20,7 @@ package com.geeksville.mesh.repository.api
|
|||
import com.geeksville.mesh.database.dao.FirmwareReleaseDao
|
||||
import com.geeksville.mesh.database.entity.FirmwareReleaseEntity
|
||||
import com.geeksville.mesh.database.entity.FirmwareReleaseType
|
||||
import com.geeksville.mesh.database.entity.asDeviceVersion
|
||||
import com.geeksville.mesh.database.entity.asEntity
|
||||
import com.geeksville.mesh.network.model.NetworkFirmwareRelease
|
||||
import dagger.Lazy
|
||||
|
|
@ -52,7 +53,7 @@ class FirmwareReleaseLocalDataSource @Inject constructor(
|
|||
withContext(Dispatchers.IO) {
|
||||
val releases = firmwareReleaseDao.getReleasesByType(releaseType)
|
||||
val latestRelease =
|
||||
releases?.firstOrNull()
|
||||
releases?.maxBy { it.asDeviceVersion() }
|
||||
return@withContext latestRelease
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue