mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
IDEA-68119 show "please specify sdk" dialog only when user opened a logcat; check version name
This commit is contained in:
+18
-13
@@ -49,24 +49,12 @@ import java.util.List;
|
||||
public class AndroidLogcatToolWindowFactory implements ToolWindowFactory, Condition<Project> {
|
||||
public static final String TOOL_WINDOW_ID = AndroidBundle.message("android.logcat.title");
|
||||
|
||||
public void createToolWindowContent(Project project, final ToolWindow toolWindow) {
|
||||
public void createToolWindowContent(final Project project, final ToolWindow toolWindow) {
|
||||
toolWindow.setIcon(AndroidUtils.ANDROID_ICON);
|
||||
toolWindow.setAvailable(true, null);
|
||||
toolWindow.setToHideOnEmptyContent(true);
|
||||
toolWindow.setTitle(TOOL_WINDOW_ID);
|
||||
|
||||
List<AndroidFacet> facets = ProjectFacetManager.getInstance(project).getFacets(AndroidFacet.ID);
|
||||
if (facets.size() == 0) {
|
||||
Messages.showErrorDialog(project, AndroidBundle.message("android.logcat.no.android.facets.error"), CommonBundle.getErrorTitle());
|
||||
return;
|
||||
}
|
||||
AndroidFacet facet = facets.get(0);
|
||||
AndroidPlatform platform = facet.getConfiguration().getAndroidPlatform();
|
||||
if (platform == null) {
|
||||
Messages.showErrorDialog(project, AndroidBundle.message("specify.platform.error"), CommonBundle.getErrorTitle());
|
||||
return;
|
||||
}
|
||||
|
||||
final AndroidLogcatToolWindowView view = new AndroidLogcatToolWindowView(project) {
|
||||
@Override
|
||||
protected boolean isActive() {
|
||||
@@ -85,6 +73,9 @@ public class AndroidLogcatToolWindowFactory implements ToolWindowFactory, Condit
|
||||
if (visible != myToolWindowVisible) {
|
||||
myToolWindowVisible = visible;
|
||||
view.activate();
|
||||
if (visible) {
|
||||
checkFacetAndSdk(project);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -104,6 +95,20 @@ public class AndroidLogcatToolWindowFactory implements ToolWindowFactory, Condit
|
||||
});
|
||||
}
|
||||
|
||||
private static void checkFacetAndSdk(Project project) {
|
||||
List<AndroidFacet> facets = ProjectFacetManager.getInstance(project).getFacets(AndroidFacet.ID);
|
||||
if (facets.size() == 0) {
|
||||
Messages.showErrorDialog(project, AndroidBundle.message("android.logcat.no.android.facets.error"), CommonBundle.getErrorTitle());
|
||||
return;
|
||||
}
|
||||
|
||||
AndroidFacet facet = facets.get(0);
|
||||
AndroidPlatform platform = facet.getConfiguration().getAndroidPlatform();
|
||||
if (platform == null) {
|
||||
Messages.showErrorDialog(project, AndroidBundle.message("specify.platform.error"), CommonBundle.getErrorTitle());
|
||||
}
|
||||
}
|
||||
|
||||
public boolean value(Project project) {
|
||||
ModuleManager manager = ModuleManager.getInstance(project);
|
||||
for (Module module : manager.getModules()) {
|
||||
|
||||
@@ -81,7 +81,7 @@ public abstract class AndroidSdk {
|
||||
public IAndroidTarget findTargetByApiLevel(@NotNull String apiLevel) {
|
||||
IAndroidTarget candidate = null;
|
||||
for (IAndroidTarget target : getTargets()) {
|
||||
if (apiLevel.equals(target.getVersion().getApiString())) {
|
||||
if (apiLevel.equals(target.getVersion().getApiString()) || apiLevel.equals(target.getVersionName())) {
|
||||
if (target.isPlatform()) {
|
||||
return target;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user