Use Computer to handle isolates

This commit is contained in:
Vishnu Mohandas 2020-08-14 04:34:32 +05:30
parent 7bd2ad19de
commit 2505389d00
4 changed files with 18 additions and 6 deletions

View file

@ -1,5 +1,6 @@
import 'dart:async';
import 'package:computer/computer.dart';
import 'package:flutter/material.dart';
import 'package:path_provider/path_provider.dart';
import 'package:photos/core/constants.dart';
@ -25,6 +26,10 @@ void main() async {
}
void _main() async {
Computer().turnOn(
workersCount: 4,
areLogsEnabled: false,
);
await Configuration.instance.init();
await PhotoSyncManager.instance.init();
await MemoriesService.instance.init();

View file

@ -1,11 +1,10 @@
import 'dart:typed_data';
import 'package:aes_crypt/aes_crypt.dart';
import 'package:computer/computer.dart';
import 'package:encrypt/encrypt.dart';
import 'dart:convert';
import 'package:flutter/foundation.dart' as foundation;
class CryptoUtil {
static String getBase64EncodedSecureRandomString({int length = 32}) {
return SecureRandom(length).base64;
@ -39,7 +38,7 @@ class CryptoUtil {
args["key"] = key;
args["source"] = sourcePath;
args["destination"] = destinationPath;
return foundation.compute(runEncryptFileToFile, args);
return Computer().compute(runEncryptFileToFile, param: args);
}
static Future<String> encryptDataToFile(
@ -48,7 +47,7 @@ class CryptoUtil {
args["key"] = key;
args["source"] = source;
args["destination"] = destinationPath;
return foundation.compute(runEncryptDataToFile, args);
return Computer().compute(runEncryptDataToFile, param: args);
}
static Future<void> decryptFileToFile(
@ -57,14 +56,14 @@ class CryptoUtil {
args["key"] = key;
args["source"] = sourcePath;
args["destination"] = destinationPath;
return foundation.compute(runDecryptFileToFile, args);
return Computer().compute(runDecryptFileToFile, param: args);
}
static Future<Uint8List> decryptFileToData(String sourcePath, String key) {
final args = Map<String, String>();
args["key"] = key;
args["source"] = sourcePath;
return foundation.compute(runDecryptFileToData, args);
return Computer().compute(runDecryptFileToData, param: args);
}
}

View file

@ -92,6 +92,13 @@ packages:
url: "https://pub.dartlang.org"
source: hosted
version: "1.15.0-nullsafety"
computer:
dependency: "direct main"
description:
name: computer
url: "https://pub.dartlang.org"
source: hosted
version: "1.0.2"
connectivity:
dependency: "direct main"
description:

View file

@ -58,6 +58,7 @@ dependencies:
progress_dialog: ^1.2.4
animate_do: ^1.7.2
flutter_cache_manager: ^1.4.1
computer: ^1.0.2
dev_dependencies:
flutter_test: