From 75df806870d697d0ea4b6c18ab1e67df29ee98da Mon Sep 17 00:00:00 2001 From: Melad Raouf Date: Mon, 16 Jun 2025 23:04:54 +0300 Subject: [PATCH] [MS-1029] Retrieve Room DB encryption status directly from BuildConfig --- .../RoomEnrolmentRecordLocalDataSource.kt | 18 ++---------------- 1 file changed, 2 insertions(+), 16 deletions(-) diff --git a/infra/enrolment-records/repository/src/main/java/com/simprints/infra/enrolment/records/repository/local/RoomEnrolmentRecordLocalDataSource.kt b/infra/enrolment-records/repository/src/main/java/com/simprints/infra/enrolment/records/repository/local/RoomEnrolmentRecordLocalDataSource.kt index 65687bf51e..bd47a046aa 100644 --- a/infra/enrolment-records/repository/src/main/java/com/simprints/infra/enrolment/records/repository/local/RoomEnrolmentRecordLocalDataSource.kt +++ b/infra/enrolment-records/repository/src/main/java/com/simprints/infra/enrolment/records/repository/local/RoomEnrolmentRecordLocalDataSource.kt @@ -1,7 +1,5 @@ package com.simprints.infra.enrolment.records.repository.local -import android.database.sqlite.SQLiteDatabase -import android.database.sqlite.SQLiteException import androidx.room.withTransaction import com.simprints.core.DispatcherIO import com.simprints.core.domain.face.FaceSample @@ -17,6 +15,7 @@ import com.simprints.infra.enrolment.records.repository.domain.models.SubjectAct import com.simprints.infra.enrolment.records.repository.domain.models.SubjectQuery import com.simprints.infra.enrolment.records.repository.local.models.toDomain import com.simprints.infra.enrolment.records.repository.local.models.toRoomDb +import com.simprints.infra.enrolment.records.room.store.BuildConfig.DB_ENCRYPTION import com.simprints.infra.enrolment.records.room.store.SubjectDao import com.simprints.infra.enrolment.records.room.store.SubjectsDatabase import com.simprints.infra.enrolment.records.room.store.SubjectsDatabaseFactory @@ -229,7 +228,7 @@ internal class RoomEnrolmentRecordLocalDataSource @Inject constructor( val dbVersion = database.openHelper.readableDatabase.version val dbPath = database.openHelper.readableDatabase.path val dbSize = getTotalRoomDbSizeBytes(dbPath!!) - val isDBEncrypted = isDBEncrypted(dbPath) + val isDBEncrypted = DB_ENCRYPTION val subjectCount = subjectDao.countSubjects(queryBuilder.buildCountQuery(SubjectQuery())) "Room DB Info:\n" + "Database Name: ${database.openHelper.databaseName}\n" + @@ -241,19 +240,6 @@ internal class RoomEnrolmentRecordLocalDataSource @Inject constructor( } } - private fun isDBEncrypted(fullDbPath: String): Boolean = try { - SQLiteDatabase.openDatabase(fullDbPath, null, SQLiteDatabase.OPEN_READONLY).use { db -> - db.rawQuery("PRAGMA schema_version;", null).use { cursor -> - cursor.moveToFirst() - // If we can read the schema version, it's not encrypted - false - } - } - } catch (_: SQLiteException) { - // Exception likely means the DB is encrypted - true - } - private fun getTotalRoomDbSizeBytes(fullDbPath: String): Long { val baseFile = File(fullDbPath) val walFile = File("$fullDbPath-wal")