startInBackground static method
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,
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;
}