chore: downgrade Kotlin to 2.1.0, add KSP support, and migrate Room to KSP
This commit is contained in:
@@ -2,6 +2,7 @@ plugins {
|
||||
alias(libs.plugins.android.application)
|
||||
alias(libs.plugins.compose.compiler)
|
||||
alias(libs.plugins.kotlin.serialization)
|
||||
alias(libs.plugins.ksp)
|
||||
}
|
||||
|
||||
android {
|
||||
@@ -86,7 +87,7 @@ dependencies {
|
||||
// Room
|
||||
implementation(libs.androidx.room.runtime)
|
||||
implementation(libs.androidx.room.ktx)
|
||||
annotationProcessor(libs.androidx.room.compiler)
|
||||
ksp(libs.androidx.room.compiler)
|
||||
|
||||
// DataStore
|
||||
implementation(libs.androidx.datastore.preferences)
|
||||
|
||||
@@ -4,19 +4,21 @@ import android.app.Application
|
||||
import com.example.esp32aldldashboard.bluetooth.BluetoothService
|
||||
import com.example.esp32aldldashboard.repository.SettingsRepository
|
||||
import com.example.esp32aldldashboard.repository.TelemetryRepository
|
||||
import com.example.esp32aldldashboard.logging.CsvLogger
|
||||
import com.example.esp32aldldashboard.data.database.TelemetryDatabase
|
||||
|
||||
class AldlApplication : Application() {
|
||||
lateinit var bluetoothService: BluetoothService
|
||||
lateinit var telemetryRepository: TelemetryRepository
|
||||
lateinit var settingsRepository: SettingsRepository
|
||||
|
||||
lateinit var csvLogger: com.example.esp32aldldashboard.logging.CsvLogger
|
||||
lateinit var csvLogger: CsvLogger
|
||||
|
||||
override fun onCreate() {
|
||||
super.onCreate()
|
||||
val database = com.example.esp32aldldashboard.data.database.TelemetryDatabase.getDatabase(this)
|
||||
val database = TelemetryDatabase.getDatabase(this)
|
||||
settingsRepository = SettingsRepository(this)
|
||||
csvLogger = com.example.esp32aldldashboard.logging.CsvLogger(this)
|
||||
csvLogger = CsvLogger(this)
|
||||
bluetoothService = BluetoothService(this)
|
||||
telemetryRepository = TelemetryRepository(
|
||||
bluetoothService,
|
||||
|
||||
@@ -5,17 +5,20 @@ import androidx.room.Insert
|
||||
import androidx.room.Query
|
||||
import kotlinx.coroutines.flow.Flow
|
||||
|
||||
import kotlin.jvm.JvmSuppressWildcards
|
||||
|
||||
@Dao
|
||||
@JvmSuppressWildcards
|
||||
interface TelemetryDao {
|
||||
|
||||
@Insert
|
||||
suspend fun insertSession(session: SessionEntity): Long
|
||||
|
||||
@Query("UPDATE sessions SET endTime = :endTime WHERE id = :sessionId")
|
||||
suspend fun endSession(sessionId: Long, endTime: Long)
|
||||
suspend fun endSession(sessionId: Long, endTime: Long): Int
|
||||
|
||||
@Insert
|
||||
suspend fun insertDataPoints(dataPoints: List<TelemetryDataPointEntity>)
|
||||
suspend fun insertDataPoints(dataPoints: List<TelemetryDataPointEntity>): List<Long>
|
||||
|
||||
@Query("SELECT * FROM sessions ORDER BY startTime DESC")
|
||||
fun getAllSessions(): Flow<List<SessionEntity>>
|
||||
@@ -24,5 +27,5 @@ interface TelemetryDao {
|
||||
fun getSessionData(sessionId: Long): Flow<List<TelemetryDataPointEntity>>
|
||||
|
||||
@Query("DELETE FROM sessions WHERE id = :sessionId")
|
||||
suspend fun deleteSession(sessionId: Long)
|
||||
suspend fun deleteSession(sessionId: Long): Int
|
||||
}
|
||||
|
||||
@@ -3,4 +3,5 @@ plugins {
|
||||
alias(libs.plugins.android.application) apply false
|
||||
alias(libs.plugins.compose.compiler) apply false
|
||||
alias(libs.plugins.kotlin.serialization) apply false
|
||||
alias(libs.plugins.ksp) apply false
|
||||
}
|
||||
@@ -27,3 +27,4 @@ kotlin.code.style=official
|
||||
# resources declared in the library itself and none from the library's dependencies,
|
||||
# thereby reducing the size of the R class for that library
|
||||
android.nonTransitiveRClass=true
|
||||
android.disallowKotlinSourceSets=false
|
||||
|
||||
@@ -10,11 +10,12 @@ androidxTestRunner = "1.7.0"
|
||||
androidxTestEspresso = "3.7.0"
|
||||
coroutines = "1.10.2"
|
||||
junit = "4.13.2"
|
||||
kotlin = "2.3.20"
|
||||
kotlin = "2.1.0"
|
||||
nav3Core = "1.0.1"
|
||||
lifecycleViewmodelNav3 = "2.10.0"
|
||||
room = "2.6.1"
|
||||
datastore = "1.1.1"
|
||||
ksp = "2.1.0-1.0.29"
|
||||
|
||||
[libraries]
|
||||
androidx-core-ktx = { module = "androidx.core:core-ktx", version.ref = "androidxCore" }
|
||||
@@ -47,4 +48,5 @@ androidx-datastore-preferences = { module = "androidx.datastore:datastore-prefer
|
||||
[plugins]
|
||||
android-application = { id = "com.android.application", version.ref = "androidGradlePlugin" }
|
||||
compose-compiler = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" }
|
||||
kotlin-serialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin" }
|
||||
kotlin-serialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin" }
|
||||
ksp = { id = "com.google.devtools.ksp", version.ref = "ksp" }
|
||||
@@ -0,0 +1,169 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<metadata>
|
||||
<groupId>com.google.devtools.ksp</groupId>
|
||||
<artifactId>com.google.devtools.ksp.gradle.plugin</artifactId>
|
||||
<versioning>
|
||||
<latest>2.3.9</latest>
|
||||
<release>2.3.9</release>
|
||||
<versions>
|
||||
<version>1.5.21-1.0.0-beta07</version>
|
||||
<version>1.5.30-1.0.0-beta08</version>
|
||||
<version>1.5.30-1.0.0-beta09</version>
|
||||
<version>1.5.30-1.0.0</version>
|
||||
<version>1.5.31-1.0.0</version>
|
||||
<version>1.5.31-1.0.1</version>
|
||||
<version>1.6.0-M1-1.0.0</version>
|
||||
<version>1.6.0-RC-1.0.1-RC</version>
|
||||
<version>1.6.0-RC-1.0.0</version>
|
||||
<version>1.6.0-1.0.1</version>
|
||||
<version>1.6.0-1.0.2</version>
|
||||
<version>1.6.10-RC-1.0.1</version>
|
||||
<version>1.6.10-1.0.2</version>
|
||||
<version>1.6.10-1.0.3</version>
|
||||
<version>1.6.10-1.0.4</version>
|
||||
<version>1.6.20-M1-1.0.2</version>
|
||||
<version>1.6.20-RC-1.0.4</version>
|
||||
<version>1.6.20-RC2-1.0.4</version>
|
||||
<version>1.6.20-1.0.4</version>
|
||||
<version>1.6.20-1.0.5</version>
|
||||
<version>1.6.21-1.0.5</version>
|
||||
<version>1.6.21-1.0.6</version>
|
||||
<version>1.7.0-Beta-1.0.5</version>
|
||||
<version>1.7.0-RC-1.0.5</version>
|
||||
<version>1.7.0-RC2-1.0.5</version>
|
||||
<version>1.7.0-1.0.6</version>
|
||||
<version>1.7.10-1.0.6</version>
|
||||
<version>1.7.20-Beta-1.0.6</version>
|
||||
<version>1.7.20-RC-1.0.6</version>
|
||||
<version>1.7.20-1.0.6</version>
|
||||
<version>1.7.20-1.0.7</version>
|
||||
<version>1.7.20-1.0.8</version>
|
||||
<version>1.7.21-1.0.8</version>
|
||||
<version>1.7.22-1.0.8</version>
|
||||
<version>1.8.0-Beta-1.0.8</version>
|
||||
<version>1.8.0-RC-1.0.8</version>
|
||||
<version>1.8.0-RC2-1.0.8</version>
|
||||
<version>1.8.0-1.0.8</version>
|
||||
<version>1.8.0-1.0.9</version>
|
||||
<version>1.8.10-1.0.9</version>
|
||||
<version>1.8.20-Beta-1.0.9</version>
|
||||
<version>1.8.20-RC-1.0.9</version>
|
||||
<version>1.8.20-RC2-1.0.9</version>
|
||||
<version>1.8.20-1.0.10</version>
|
||||
<version>1.8.20-1.0.11</version>
|
||||
<version>1.8.21-1.0.11</version>
|
||||
<version>1.8.22-1.0.11</version>
|
||||
<version>1.9.0-Beta-1.0.11</version>
|
||||
<version>1.9.0-RC-1.0.11</version>
|
||||
<version>1.9.0-1.0.11</version>
|
||||
<version>1.9.0-1.0.12</version>
|
||||
<version>1.9.0-1.0.13</version>
|
||||
<version>1.9.10-1.0.13</version>
|
||||
<version>1.9.20-Beta-1.0.13</version>
|
||||
<version>1.9.20-Beta2-1.0.13</version>
|
||||
<version>1.9.20-RC-1.0.13</version>
|
||||
<version>1.9.20-RC2-1.0.13</version>
|
||||
<version>1.9.20-1.0.13</version>
|
||||
<version>1.9.20-1.0.14</version>
|
||||
<version>1.9.21-1.0.15</version>
|
||||
<version>1.9.21-1.0.16</version>
|
||||
<version>1.9.22-1.0.16</version>
|
||||
<version>1.9.22-1.0.17</version>
|
||||
<version>1.9.22-1.0.18</version>
|
||||
<version>1.9.23-1.0.19</version>
|
||||
<version>1.9.23-1.0.20</version>
|
||||
<version>1.9.24-1.0.20</version>
|
||||
<version>1.9.25-1.0.20</version>
|
||||
<version>2.0.0-Beta1-1.0.15</version>
|
||||
<version>2.0.0-Beta1-1.0.14</version>
|
||||
<version>2.0.0-Beta2-1.0.16</version>
|
||||
<version>2.0.0-Beta3-1.0.17</version>
|
||||
<version>2.0.0-Beta4-1.0.19</version>
|
||||
<version>2.0.0-Beta4-1.0.18</version>
|
||||
<version>2.0.0-Beta4-1.0.17</version>
|
||||
<version>2.0.0-Beta5-1.0.20</version>
|
||||
<version>2.0.0-Beta5-1.0.19</version>
|
||||
<version>2.0.0-RC1-1.0.20</version>
|
||||
<version>2.0.0-RC2-1.0.20</version>
|
||||
<version>2.0.0-RC3-1.0.20</version>
|
||||
<version>2.0.0-1.0.21</version>
|
||||
<version>2.0.0-1.0.22</version>
|
||||
<version>2.0.0-1.0.23</version>
|
||||
<version>2.0.0-1.0.24</version>
|
||||
<version>2.0.10-RC-1.0.23</version>
|
||||
<version>2.0.10-RC2-1.0.24</version>
|
||||
<version>2.0.10-1.0.24</version>
|
||||
<version>2.0.20-Beta1-1.0.22</version>
|
||||
<version>2.0.20-Beta2-1.0.23</version>
|
||||
<version>2.0.20-RC-1.0.24</version>
|
||||
<version>2.0.20-RC2-1.0.24</version>
|
||||
<version>2.0.20-1.0.24</version>
|
||||
<version>2.0.20-1.0.25</version>
|
||||
<version>2.0.21-RC-1.0.25</version>
|
||||
<version>2.0.21-1.0.25</version>
|
||||
<version>2.0.21-1.0.26</version>
|
||||
<version>2.0.21-1.0.27</version>
|
||||
<version>2.0.21-1.0.28</version>
|
||||
<version>2.1.0-Beta1-1.0.25</version>
|
||||
<version>2.1.0-Beta2-1.0.26</version>
|
||||
<version>2.1.0-Beta2-1.0.25</version>
|
||||
<version>2.1.0-RC-1.0.26</version>
|
||||
<version>2.1.0-RC-1.0.27</version>
|
||||
<version>2.1.0-RC2-1.0.28</version>
|
||||
<version>2.1.0-1.0.28</version>
|
||||
<version>2.1.0-1.0.29</version>
|
||||
<version>2.1.10-RC-1.0.29</version>
|
||||
<version>2.1.10-RC2-1.0.29</version>
|
||||
<version>2.1.10-1.0.29</version>
|
||||
<version>2.1.10-1.0.30</version>
|
||||
<version>2.1.10-1.0.31</version>
|
||||
<version>2.1.20-Beta1-1.0.29</version>
|
||||
<version>2.1.20-Beta2-1.0.30</version>
|
||||
<version>2.1.20-Beta2-1.0.29</version>
|
||||
<version>2.1.20-RC-1.0.30</version>
|
||||
<version>2.1.20-RC-1.0.31</version>
|
||||
<version>2.1.20-RC2-1.0.31</version>
|
||||
<version>2.1.20-RC3-1.0.31</version>
|
||||
<version>2.1.20-1.0.31</version>
|
||||
<version>2.1.20-1.0.32</version>
|
||||
<version>2.1.20-2.0.0</version>
|
||||
<version>2.1.20-2.0.1</version>
|
||||
<version>2.1.21-RC-2.0.0</version>
|
||||
<version>2.1.21-RC2-2.0.1</version>
|
||||
<version>2.1.21-2.0.1</version>
|
||||
<version>2.1.21-2.0.2</version>
|
||||
<version>2.2.0-Beta1-2.0.0</version>
|
||||
<version>2.2.0-Beta2-2.0.1</version>
|
||||
<version>2.2.0-RC-2.0.1</version>
|
||||
<version>2.2.0-RC2-2.0.1</version>
|
||||
<version>2.2.0-RC2-2.0.2</version>
|
||||
<version>2.2.0-RC3-2.0.2</version>
|
||||
<version>2.2.0-2.0.2</version>
|
||||
<version>2.2.10-RC-2.0.2</version>
|
||||
<version>2.2.10-RC2-2.0.2</version>
|
||||
<version>2.2.10-2.0.2</version>
|
||||
<version>2.2.20-Beta1-2.0.2</version>
|
||||
<version>2.2.20-Beta2-2.0.2</version>
|
||||
<version>2.2.20-RC-2.0.2</version>
|
||||
<version>2.2.20-RC2-2.0.2</version>
|
||||
<version>2.2.20-2.0.2</version>
|
||||
<version>2.2.20-2.0.3</version>
|
||||
<version>2.2.20-2.0.4</version>
|
||||
<version>2.2.21-RC-2.0.4</version>
|
||||
<version>2.2.21-RC2-2.0.4</version>
|
||||
<version>2.2.21-2.0.4</version>
|
||||
<version>2.2.21-2.0.5</version>
|
||||
<version>2.3.0</version>
|
||||
<version>2.3.1</version>
|
||||
<version>2.3.2</version>
|
||||
<version>2.3.3</version>
|
||||
<version>2.3.4</version>
|
||||
<version>2.3.5</version>
|
||||
<version>2.3.6</version>
|
||||
<version>2.3.7</version>
|
||||
<version>2.3.8</version>
|
||||
<version>2.3.9</version>
|
||||
</versions>
|
||||
<lastUpdated>20260526194322</lastUpdated>
|
||||
</versioning>
|
||||
</metadata>
|
||||
Reference in New Issue
Block a user