startInBackground static method

Future<bool> startInBackground({
  1. required String configFilePath,
  2. required String hostId,
  3. required String userId,
  4. required String deviceId,
  5. required CLAIDSpecialPermissionsConfig specialPermissionsConfig,
  6. required CLAIDPersistanceConfig persistanceConfig,
  7. List<CLAIDPackage>? claidPackages = null,
})

Implementation

static Future<bool> startInBackground({
  required String configFilePath,
  required String hostId,
  required String userId,
  required String deviceId,
  required CLAIDSpecialPermissionsConfig specialPermissionsConfig,
  required CLAIDPersistanceConfig persistanceConfig,
  List<CLAIDPackage>? claidPackages = null,
}) async
{
  Logger.logInfo("CLAID startInBackground called");
  loadPackages(claidPackages);

  Directory? appDocDir = await getApplicationDocumentsDirectory();

  // Construct the path to the Android/media directory
  String mediaDirectoryPath = '${appDocDir!.path}';

  mediaDirectoryPath = mediaDirectoryPath.replaceAll("app_flutter", "files");
  String socketPath = "unix://" + mediaDirectoryPath + "/" + "claid_local.grpc";
  bool result = await _startCLAIDInBackgroundFromNativeLanguage(socketPath, configFilePath,
    hostId, userId, deviceId, specialPermissionsConfig, persistanceConfig);

  if(!result)
  {
    Logger.logFatal("Failed to start CLAID in background");
    return false;
  }
  await attachDartRuntime(socketPath);
  return true;
}