From 8e0f79e28eaf4a31d26295c6ac946e0f3579ca89 Mon Sep 17 00:00:00 2001 From: leedongmyung Date: Sun, 5 Jan 2025 09:57:24 +0900 Subject: [PATCH] add initialize in isolate --- bin/main.dart | 7 +++++-- lib/platform/isolate_manager.dart | 16 +++++++++++++--- 2 files changed, 18 insertions(+), 5 deletions(-) diff --git a/bin/main.dart b/bin/main.dart index d343a5a..c42e8a7 100644 --- a/bin/main.dart +++ b/bin/main.dart @@ -3,15 +3,18 @@ import 'package:dart_framework/subtitle/parser_smi.dart'; import 'package:dart_framework/subtitle/parser_srt.dart'; import 'package:dart_framework/utils/os_startup.dart'; import 'package:dart_framework/utils/system_util.dart'; -import 'package:path/path.dart' as path; - import 'package:dart_framework/core/application.dart'; import 'package:dart_framework/charset.dart'; +import 'package:dart_framework/platform/isolate_manager.dart' as isolate; + +import 'package:path/path.dart' as path; void main() async { Application('dartframework', 'com.toki-labs.dartframework', () async { print(await OSStartup.unregistStartup(appIdendifier)); + isolate.test(); + // print(await OSStartup.isRegistedStartup(appIdendifier)); // print(await OSStartup.registStartup( diff --git a/lib/platform/isolate_manager.dart b/lib/platform/isolate_manager.dart index 8da85c5..caa44c1 100644 --- a/lib/platform/isolate_manager.dart +++ b/lib/platform/isolate_manager.dart @@ -4,6 +4,7 @@ import 'dart:async'; import 'package:dart_framework/data/isolate_data.dart'; import 'package:dart_framework/platform/process.dart'; +import 'package:dart_framework/utils/system_util.dart' as system; /// ********************** Test ************************* /// void test() { @@ -34,6 +35,8 @@ void test() { class IsolateTemplate extends IsolateBase { @override void onReady(Object? initData) async { + print( + '[IsolateTemplate] appName: ${system.appName}, appID: ${system.appIdendifier}'); print('[IsolateTemplate] onReady - initData: $initData'); addEventListener('test1', onTest1Handler, executeOnce: true); addEventListener('test2', onTest2Handler); @@ -66,7 +69,10 @@ class _IsolateConstructData { late int id; late SendPort mainIsoSender; late Object? initData; - _IsolateConstructData(this.id, this.mainIsoSender, this.initData); + late String appName; + late String appID; + _IsolateConstructData( + this.id, this.mainIsoSender, this.appName, this.appID, this.initData); } class IsolateHandler { @@ -180,8 +186,10 @@ class IsolateManager { inst.isoListener = message as SendPort; isolateEventListener(IsolateEvent.ready, id); }); - await Isolate.spawn(inst.initialize, - _IsolateConstructData(id, isoListener.sendPort, initData)); + await Isolate.spawn( + inst.initialize, + _IsolateConstructData(id, isoListener.sendPort, system.appName, + system.appIdendifier, initData)); await for (IsoMessege message in isoListener) { if (message.type == _IsolateInnerEvent.exit) { isolateEventListener(IsolateEvent.exit, null); @@ -254,6 +262,8 @@ class IsolateBase { id = initData.id; _mainIsoListener = ReceivePort(); _mainIsoSender = initData.mainIsoSender; + system.initialize(initData.appName, initData.appID); + send(IsoMessege(_IsolateInnerEvent.ready, data: _mainIsoListener.sendPort)); onReady(initData.initData); await for (IsoMessege message in _mainIsoListener) {