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