package com.jetbrains.lang.dart.flutter; import com.intellij.ide.plugins.PluginManager; import com.intellij.openapi.extensions.PluginId; import com.intellij.openapi.module.Module; import com.intellij.openapi.module.ModuleType; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; public class FlutterUtil { private static final String FLUTTER_MODULE_TYPE_ID = "FLUTTER_MODULE_TYPE"; private static final boolean FLUTTER_PLUGIN_INSTALLED = PluginManager.isPluginInstalled(PluginId.getId("io.flutter")); /** * @return the Flutter SDK root relative to the given Dart SDK or <code>null</code> */ @Nullable public static String getFlutterRoot(@NotNull final String dartSdkPath) { final String suffix = "/bin/cache/dart-sdk"; return dartSdkPath.endsWith(suffix) ? dartSdkPath.substring(0, dartSdkPath.length() - suffix.length()) : null; } public static boolean isFlutterModule(@NotNull final Module module) { return FLUTTER_MODULE_TYPE_ID.equals(ModuleType.get(module).getId()); } public static boolean isFlutterPluginInstalled() { return FLUTTER_PLUGIN_INSTALLED; } }