| 12345678910111213141516171819202122232425262728293031323334353637383940 | 
							- import 'package:app_flowy/startup/startup.dart';
 
- import 'package:get_it/get_it.dart';
 
- class LaunchContext {
 
-   GetIt getIt;
 
-   IntegrationEnv env;
 
-   LaunchContext(this.getIt, this.env);
 
- }
 
- enum LaunchTaskType {
 
-   dataProcessing,
 
-   appLauncher,
 
- }
 
- /// The interface of an app launch task, which will trigger
 
- /// some nonresident indispensable task in app launching task.
 
- abstract class LaunchTask {
 
-   LaunchTaskType get type => LaunchTaskType.dataProcessing;
 
-   Future<void> initialize(LaunchContext context);
 
- }
 
- class AppLauncher {
 
-   List<LaunchTask> tasks;
 
-   IntegrationEnv env;
 
-   GetIt getIt;
 
-   AppLauncher(this.env, this.getIt) : tasks = List.from([]);
 
-   void addTask(LaunchTask task) {
 
-     tasks.add(task);
 
-   }
 
-   void launch() async {
 
-     final context = LaunchContext(getIt, env);
 
-     for (var task in tasks) {
 
-       await task.initialize(context);
 
-     }
 
-   }
 
- }
 
- //test git hooks
 
 
  |