rust_sdk.dart 1.2 KB

1234567891011121314151617181920212223242526272829303132333435
  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 IntegrationMode.release:
  12. Directory documentsDir = await getApplicationDocumentsDirectory();
  13. return Directory('${documentsDir.path}/flowy').create().then(
  14. (Directory directory) async {
  15. await context.getIt<FlowySDK>().init(directory);
  16. },
  17. );
  18. case IntegrationMode.develop:
  19. Directory documentsDir = await getApplicationDocumentsDirectory();
  20. return Directory('${documentsDir.path}/flowy_dev').create().then(
  21. (Directory directory) async {
  22. await context.getIt<FlowySDK>().init(directory);
  23. },
  24. );
  25. case IntegrationMode.test:
  26. final directory = Directory("${Directory.current.path}/.sandbox");
  27. await context.getIt<FlowySDK>().init(directory);
  28. break;
  29. default:
  30. assert(false, 'Unsupported env');
  31. }
  32. }
  33. }