From 911a6d86438e78e1340915bd85bf7f91d2b58ff5 Mon Sep 17 00:00:00 2001 From: Dmitry Avdeev Date: Tue, 20 Mar 2018 18:25:24 +0300 Subject: [PATCH] IDEA-188241 Hide AS icons for not Android projects --- .../lang-api/src/com/intellij/execution/Executor.java | 8 ++++++++ .../src/com/intellij/execution/ExecutorRegistryImpl.java | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/platform/lang-api/src/com/intellij/execution/Executor.java b/platform/lang-api/src/com/intellij/execution/Executor.java index 07b63ecf395d..14fa59cdcf86 100644 --- a/platform/lang-api/src/com/intellij/execution/Executor.java +++ b/platform/lang-api/src/com/intellij/execution/Executor.java @@ -17,6 +17,7 @@ package com.intellij.execution; import com.intellij.openapi.extensions.ExtensionPointName; +import com.intellij.openapi.project.Project; import com.intellij.openapi.util.registry.Registry; import com.intellij.openapi.util.text.StringUtil; import org.jetbrains.annotations.NonNls; @@ -92,6 +93,13 @@ public abstract class Executor { return getStartActionText() + (StringUtil.isEmpty(configurationName) ? "" : " '" + shortenNameIfNeed(configurationName) + "'"); } + /** + * Return false to suppress action visibility for given project. + */ + public boolean isApplicable(@NotNull Project project) { + return true; + } + /** * Too long names don't fit into UI controls and have to be trimmed */ diff --git a/platform/lang-impl/src/com/intellij/execution/ExecutorRegistryImpl.java b/platform/lang-impl/src/com/intellij/execution/ExecutorRegistryImpl.java index b37391ba2bac..7a545eb1fd40 100644 --- a/platform/lang-impl/src/com/intellij/execution/ExecutorRegistryImpl.java +++ b/platform/lang-impl/src/com/intellij/execution/ExecutorRegistryImpl.java @@ -249,7 +249,7 @@ public class ExecutorRegistryImpl extends ExecutorRegistry implements Disposable presentation.setEnabledAndVisible(enabled); } else { - presentation.setVisible(true); + presentation.setVisible(myExecutor.isApplicable(project)); presentation.setEnabled(enabled); } presentation.setText(text);