From 3e79c8cf28ed58a6c54712ead3638a6270d9e32b Mon Sep 17 00:00:00 2001 From: laurenspriem Date: Thu, 23 May 2024 18:12:41 +0530 Subject: [PATCH] [mob][photos] Decrypt remote embeddings in computer --- .../file_ml/remote_fileml_service.dart | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/mobile/lib/services/machine_learning/file_ml/remote_fileml_service.dart b/mobile/lib/services/machine_learning/file_ml/remote_fileml_service.dart index eafbc6323..bb1c9f999 100644 --- a/mobile/lib/services/machine_learning/file_ml/remote_fileml_service.dart +++ b/mobile/lib/services/machine_learning/file_ml/remote_fileml_service.dart @@ -1,6 +1,7 @@ import "dart:async"; import "dart:convert"; +import "package:computer/computer.dart"; import "package:logging/logging.dart"; import "package:photos/core/network/network.dart"; import "package:photos/db/files_db.dart"; @@ -16,6 +17,8 @@ import "package:shared_preferences/shared_preferences.dart"; class RemoteFileMLService { RemoteFileMLService._privateConstructor(); + static final Computer _computer = Computer.shared(); + static final RemoteFileMLService instance = RemoteFileMLService._privateConstructor(); @@ -107,15 +110,17 @@ class RemoteFileMLService { final input = EmbeddingsDecoderInput(embedding, fileKey); inputs.add(input); } - // todo: use compute or isolate - return decryptFileMLComputer( - { + return _computer.compute, Map>( + _decryptFileMLComputer, + param: { "inputs": inputs, }, ); } - Future> decryptFileMLComputer( +} + +Future> _decryptFileMLComputer( Map args, ) async { final result = {}; @@ -134,5 +139,4 @@ class RemoteFileMLService { result[input.embedding.fileID] = decodedEmbedding; } return result; - } -} + } \ No newline at end of file