init_sdk.dart 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. import 'dart:io';
  2. import 'package:app_flowy/startup/startup.dart';
  3. import 'package:path_provider/path_provider.dart';
  4. import 'package:flowy_sdk/flowy_sdk.dart';
  5. class InitRustSDKTask extends LaunchTask {
  6. @override
  7. LaunchTaskType get type => LaunchTaskType.dataProcessing;
  8. @override
  9. Future<void> initialize(LaunchContext context) async {
  10. switch (context.env) {
  11. case IntegrationEnv.develop:
  12. Directory directory = await getApplicationDocumentsDirectory();
  13. return Directory('${directory.path}/flowy_dev').create().then(
  14. (Directory directory) async {
  15. await context.getIt<FlowySDK>().init(directory);
  16. },
  17. );
  18. case IntegrationEnv.release:
  19. Directory directory = await getApplicationDocumentsDirectory();
  20. return Directory('${directory.path}/flowy').create().then(
  21. (Directory directory) async {
  22. await context.getIt<FlowySDK>().init(directory);
  23. },
  24. );
  25. case IntegrationEnv.test:
  26. await context.getIt<FlowySDK>().init(testWorkingDirectory());
  27. break;
  28. default:
  29. assert(false, 'Unsupported env');
  30. }
  31. }
  32. Directory testWorkingDirectory() {
  33. return Directory("${Directory.current.path}/.sandbox");
  34. }
  35. }