@@ -4,11 +4,9 @@ import android.content.Context
|
||||
import androidx.room.Database
|
||||
import androidx.room.Room
|
||||
import androidx.room.RoomDatabase
|
||||
import com.manalejandro.odb2bluetooth.data.database.dao.DtcCodeDao
|
||||
import com.manalejandro.odb2bluetooth.data.database.dao.ObdSignalDao
|
||||
import com.manalejandro.odb2bluetooth.data.database.dao.VehicleDao
|
||||
import com.manalejandro.odb2bluetooth.data.database.entities.Brand
|
||||
import com.manalejandro.odb2bluetooth.data.database.entities.DtcCode
|
||||
import com.manalejandro.odb2bluetooth.data.database.entities.Generation
|
||||
import com.manalejandro.odb2bluetooth.data.database.entities.Model
|
||||
import com.manalejandro.odb2bluetooth.data.database.entities.ObdSignal
|
||||
@@ -21,17 +19,17 @@ import com.manalejandro.odb2bluetooth.data.database.entities.ObdSignal
|
||||
Brand::class,
|
||||
Model::class,
|
||||
Generation::class,
|
||||
ObdSignal::class,
|
||||
DtcCode::class
|
||||
ObdSignal::class
|
||||
// Note: DtcCode removed due to schema incompatibility
|
||||
],
|
||||
version = 3,
|
||||
version = 7,
|
||||
exportSchema = false
|
||||
)
|
||||
abstract class ObdDatabase : RoomDatabase() {
|
||||
|
||||
abstract fun vehicleDao(): VehicleDao
|
||||
abstract fun obdSignalDao(): ObdSignalDao
|
||||
abstract fun dtcCodeDao(): DtcCodeDao
|
||||
// Note: dtcCodeDao removed - not compatible with current database schema
|
||||
|
||||
companion object {
|
||||
@Volatile
|
||||
|
||||
@@ -1,12 +1,10 @@
|
||||
package com.manalejandro.odb2bluetooth.data.repository
|
||||
|
||||
import com.manalejandro.odb2bluetooth.data.database.dao.DtcCodeDao
|
||||
import com.manalejandro.odb2bluetooth.data.database.dao.ObdSignalDao
|
||||
import com.manalejandro.odb2bluetooth.data.database.dao.VehicleDao
|
||||
import com.manalejandro.odb2bluetooth.data.database.dto.SignalDto
|
||||
import com.manalejandro.odb2bluetooth.data.database.dto.VehicleDto
|
||||
import com.manalejandro.odb2bluetooth.data.database.entities.Brand
|
||||
import com.manalejandro.odb2bluetooth.data.database.entities.DtcCode
|
||||
import com.manalejandro.odb2bluetooth.data.database.entities.ObdSignal
|
||||
import kotlinx.coroutines.flow.Flow
|
||||
|
||||
@@ -15,8 +13,7 @@ import kotlinx.coroutines.flow.Flow
|
||||
*/
|
||||
class ObdRepository(
|
||||
private val vehicleDao: VehicleDao,
|
||||
private val obdSignalDao: ObdSignalDao,
|
||||
private val dtcCodeDao: DtcCodeDao
|
||||
private val obdSignalDao: ObdSignalDao
|
||||
) {
|
||||
|
||||
// Vehicle operations
|
||||
@@ -36,13 +33,7 @@ class ObdRepository(
|
||||
fun searchSignals(modelId: Int, query: String): Flow<List<ObdSignal>> =
|
||||
obdSignalDao.searchSignals(modelId, query)
|
||||
|
||||
// DTC operations
|
||||
fun getAllDtcCodes(): Flow<List<DtcCode>> = dtcCodeDao.getAllDtcCodes()
|
||||
|
||||
suspend fun getDtcCodeByCode(code: String): DtcCode? =
|
||||
dtcCodeDao.getDtcCodeByCode(code)
|
||||
|
||||
fun searchDtcCodes(query: String): Flow<List<DtcCode>> =
|
||||
dtcCodeDao.searchDtcCodes(query)
|
||||
// Note: DTC operations removed - table dtc_codes has incompatible schema
|
||||
// Can be re-added later once the database schema is fixed
|
||||
}
|
||||
|
||||
|
||||
@@ -21,8 +21,7 @@ class MainViewModel(application: Application) : AndroidViewModel(application) {
|
||||
private val database = ObdDatabase.getDatabase(application)
|
||||
val repository = ObdRepository(
|
||||
database.vehicleDao(),
|
||||
database.obdSignalDao(),
|
||||
database.dtcCodeDao()
|
||||
database.obdSignalDao()
|
||||
)
|
||||
|
||||
val bluetoothService = BluetoothService()
|
||||
|
||||
@@ -20,8 +20,7 @@ class VehicleViewModel(application: Application) : AndroidViewModel(application)
|
||||
private val database = ObdDatabase.getDatabase(application)
|
||||
private val repository = ObdRepository(
|
||||
database.vehicleDao(),
|
||||
database.obdSignalDao(),
|
||||
database.dtcCodeDao()
|
||||
database.obdSignalDao()
|
||||
)
|
||||
|
||||
private val _vehicles = MutableStateFlow<List<VehicleDto>>(emptyList())
|
||||
|
||||
Referencia en una nueva incidencia
Block a user