/* * Copyright 2015 Marc Prengemann * * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for * the specific language governing permissions and limitations under the License. */ package de.mprengemann.intellij.plugin.androidicons.util; import com.intellij.facet.ProjectFacetManager; import com.intellij.openapi.actionSystem.AnAction; import com.intellij.openapi.actionSystem.AnActionEvent; import com.intellij.openapi.actionSystem.LangDataKeys; import com.intellij.openapi.module.Module; import com.intellij.openapi.project.Project; import com.intellij.openapi.vfs.VirtualFile; import org.jetbrains.android.facet.AndroidFacet; import java.util.List; public class AndroidFacetUtils { private AndroidFacetUtils() { } public static AndroidFacet getCurrentFacet(Project project, Module module) { AndroidFacet currentFacet = null; if (module == null) { return null; } List<AndroidFacet> applicationFacets = ProjectFacetManager.getInstance(project).getFacets(AndroidFacet.ID); for (AndroidFacet facet : applicationFacets) { if (facet.getModule().getName().equals(module.getName())) { currentFacet = facet; break; } } return currentFacet; } public static String getResourcesRoot(Project project, Module module) { final AndroidFacet currentFacet = AndroidFacetUtils.getCurrentFacet(project, module); final List<VirtualFile> allResourceDirectories = currentFacet.getAllResourceDirectories(); String exportRoot = ""; if (allResourceDirectories.size() == 1) { exportRoot = allResourceDirectories.get(0).getCanonicalPath(); } return exportRoot; } public static void updateActionVisibility(AnActionEvent e) { Module module = e.getData(LangDataKeys.MODULE); AndroidFacet androidFacet = AndroidFacetUtils.getCurrentFacet(AnAction.getEventProject(e), module); e.getPresentation().setVisible(module != null && androidFacet != null); } }