diff --git a/mobile/lib/db/files_db.dart b/mobile/lib/db/files_db.dart index 6fb89a9d77..ab30d1c34c 100644 --- a/mobile/lib/db/files_db.dart +++ b/mobile/lib/db/files_db.dart @@ -1805,17 +1805,17 @@ class FilesDB with SqlDbBase { return FileLoadResult(filteredFiles, files.length == limit); } - Future> getAllFileIDs() async { + Future remoteFileCount() async { final db = await instance.sqliteAsyncDB; final results = await db.getAll(''' SELECT DISTINCT $columnUploadedFileID FROM $filesTable WHERE $columnUploadedFileID IS NOT NULL AND $columnUploadedFileID IS NOT -1 '''); - final ids = []; + final ids = {}; for (final result in results) { ids.add(result[columnUploadedFileID] as int); } - return ids; + return ids.length; } ///Returns "columnName1 = ?, columnName2 = ?, ..." diff --git a/mobile/lib/db/ml/db.dart b/mobile/lib/db/ml/db.dart index fde278a9f2..0186ead274 100644 --- a/mobile/lib/db/ml/db.dart +++ b/mobile/lib/db/ml/db.dart @@ -814,7 +814,7 @@ class MLDataDB with SqlDbBase implements IMLDataDB { @override Future getClusteredToIndexableFilesRatio() async { - final int indexableFiles = (await getIndexableFileIDs()).length; + final int indexableFiles = await getIndexableFileCount(); final int clusteredFiles = await getClusteredOrFacelessFileCount(); return clusteredFiles / indexableFiles; diff --git a/mobile/lib/utils/ml_util.dart b/mobile/lib/utils/ml_util.dart index d17f2f7ecc..b1d18307da 100644 --- a/mobile/lib/utils/ml_util.dart +++ b/mobile/lib/utils/ml_util.dart @@ -56,7 +56,7 @@ class FileMLInstruction { Future getIndexStatus() async { try { final mlDataDB = MLDataDB.instance; - final int indexableFiles = (await getIndexableFileIDs()).length; + final int indexableFiles = await getIndexableFileCount(); final int facesIndexedFiles = await mlDataDB.getFaceIndexedFileCount(); final int clipIndexedFiles = await mlDataDB.getClipIndexedFileCount(); final int indexedFiles = math.min(facesIndexedFiles, clipIndexedFiles); @@ -320,9 +320,8 @@ bool _shouldDiscardRemoteEmbedding(FileDataEntity fileML) { return false; } -Future> getIndexableFileIDs() async { - final fileIDs = await FilesDB.instance.getAllFileIDs(); - return fileIDs.toSet(); +Future getIndexableFileCount() async { + return FilesDB.instance.remoteFileCount(); } Future getImagePathForML(EnteFile enteFile) async {