diff --git a/plugins/android/src/org/jetbrains/android/logcat/AndroidLogcatToolWindowFactory.java b/plugins/android/src/org/jetbrains/android/logcat/AndroidLogcatToolWindowFactory.java index 178158f8fa21..035050e55351 100644 --- a/plugins/android/src/org/jetbrains/android/logcat/AndroidLogcatToolWindowFactory.java +++ b/plugins/android/src/org/jetbrains/android/logcat/AndroidLogcatToolWindowFactory.java @@ -49,24 +49,12 @@ import java.util.List; public class AndroidLogcatToolWindowFactory implements ToolWindowFactory, Condition { 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 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 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()) { diff --git a/plugins/android/src/org/jetbrains/android/sdk/AndroidSdk.java b/plugins/android/src/org/jetbrains/android/sdk/AndroidSdk.java index e3210b165e3d..12f0fa3661c4 100644 --- a/plugins/android/src/org/jetbrains/android/sdk/AndroidSdk.java +++ b/plugins/android/src/org/jetbrains/android/sdk/AndroidSdk.java @@ -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; }