getApplicationSupportPath method

  1. @override
Future<String?> getApplicationSupportPath()
override

Path to a directory where the application may place application support files.

Implementation

@override
Future<String?> getApplicationSupportPath() async {
  final Directory directory =
      Directory(path.join(xdg.dataHome.path, await _getId()));
  if (directory.existsSync()) {
    return directory.path;
  }

  // This plugin originally used the executable name as a directory.
  // Use that if it exists for backwards compatibility.
  final Directory legacyDirectory =
      Directory(path.join(xdg.dataHome.path, await _getExecutableName()));
  if (legacyDirectory.existsSync()) {
    return legacyDirectory.path;
  }

  // Create the directory, because mobile implementations assume the directory exists.
  await directory.create(recursive: true);
  return directory.path;
}