mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
refactoring: move methods from AndroidSdkUtils to AndroidUtils
This commit is contained in:
@@ -20,7 +20,6 @@ import org.jetbrains.android.dom.resources.ResourceElement;
|
||||
import org.jetbrains.android.dom.resources.Resources;
|
||||
import org.jetbrains.android.facet.AndroidFacet;
|
||||
import org.jetbrains.android.facet.AndroidRootUtil;
|
||||
import org.jetbrains.android.sdk.AndroidSdkUtils;
|
||||
import org.jetbrains.android.uipreview.DeviceConfiguratorPanel;
|
||||
import org.jetbrains.android.uipreview.InvalidOptionValueException;
|
||||
import org.jetbrains.android.util.AndroidBundle;
|
||||
@@ -61,7 +60,7 @@ public class CreateXmlResourceDialog extends DialogWrapper {
|
||||
final Set<Module> modulesSet = new HashSet<Module>();
|
||||
modulesSet.add(module);
|
||||
|
||||
for (AndroidFacet depFacet : AndroidSdkUtils.getAllAndroidDependencies(module, true)) {
|
||||
for (AndroidFacet depFacet : AndroidUtils.getAllAndroidDependencies(module, true)) {
|
||||
modulesSet.add(depFacet.getModule());
|
||||
}
|
||||
|
||||
|
||||
@@ -35,7 +35,6 @@ import org.jetbrains.android.facet.AndroidFacetConfiguration;
|
||||
import org.jetbrains.android.facet.AndroidRootUtil;
|
||||
import org.jetbrains.android.maven.AndroidMavenUtil;
|
||||
import org.jetbrains.android.sdk.AndroidPlatform;
|
||||
import org.jetbrains.android.sdk.AndroidSdkUtils;
|
||||
import org.jetbrains.android.util.AndroidBundle;
|
||||
import org.jetbrains.android.util.AndroidCommonUtils;
|
||||
import org.jetbrains.android.util.AndroidUtils;
|
||||
@@ -265,7 +264,7 @@ public class AndroidAptCompiler implements SourceGeneratingCompiler {
|
||||
// todo: support this in android-jps
|
||||
// see IDEA-79737 for details
|
||||
private static boolean hasBadCircularDependencies(@NotNull AndroidFacet facet) {
|
||||
final List<AndroidFacet> dependencies = AndroidSdkUtils.getAllAndroidDependencies(facet.getModule(), true);
|
||||
final List<AndroidFacet> dependencies = AndroidUtils.getAllAndroidDependencies(facet.getModule(), true);
|
||||
|
||||
final Manifest manifest = facet.getManifest();
|
||||
if (manifest == null) {
|
||||
@@ -285,7 +284,7 @@ public class AndroidAptCompiler implements SourceGeneratingCompiler {
|
||||
continue;
|
||||
}
|
||||
}
|
||||
final List<AndroidFacet> depDependencies = AndroidSdkUtils.getAllAndroidDependencies(depFacet.getModule(), true);
|
||||
final List<AndroidFacet> depDependencies = AndroidUtils.getAllAndroidDependencies(depFacet.getModule(), true);
|
||||
|
||||
if (depDependencies.contains(facet) &&
|
||||
dependencies.contains(depFacet) &&
|
||||
@@ -303,7 +302,7 @@ public class AndroidAptCompiler implements SourceGeneratingCompiler {
|
||||
|
||||
final List<String> result = new ArrayList<String>();
|
||||
|
||||
for (String libPackage : AndroidSdkUtils.getDepLibsPackages(module)) {
|
||||
for (String libPackage : AndroidUtils.getDepLibsPackages(module)) {
|
||||
if (packageSet.add(libPackage)) {
|
||||
result.add(libPackage);
|
||||
}
|
||||
|
||||
@@ -62,7 +62,6 @@ import org.jetbrains.android.fileTypes.AndroidIdlFileType;
|
||||
import org.jetbrains.android.fileTypes.AndroidRenderscriptFileType;
|
||||
import org.jetbrains.android.resourceManagers.LocalResourceManager;
|
||||
import org.jetbrains.android.sdk.AndroidPlatform;
|
||||
import org.jetbrains.android.sdk.AndroidSdkUtils;
|
||||
import org.jetbrains.android.util.*;
|
||||
import org.jetbrains.annotations.NonNls;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
@@ -524,7 +523,7 @@ public class AndroidCompileUtil {
|
||||
|
||||
doCollectResourceDirs(facet, collectResCacheDirs, result, context);
|
||||
|
||||
for (AndroidFacet depFacet : AndroidSdkUtils.getAllAndroidDependencies(facet.getModule(), true)) {
|
||||
for (AndroidFacet depFacet : AndroidUtils.getAllAndroidDependencies(facet.getModule(), true)) {
|
||||
doCollectResourceDirs(depFacet, collectResCacheDirs, result, context);
|
||||
}
|
||||
return ArrayUtil.toStringArray(result);
|
||||
|
||||
@@ -32,8 +32,8 @@ import com.intellij.util.containers.HashMap;
|
||||
import org.jetbrains.android.facet.AndroidFacet;
|
||||
import org.jetbrains.android.facet.AndroidRootUtil;
|
||||
import org.jetbrains.android.sdk.AndroidPlatform;
|
||||
import org.jetbrains.android.sdk.AndroidSdkUtils;
|
||||
import org.jetbrains.android.util.AndroidBundle;
|
||||
import org.jetbrains.android.util.AndroidUtils;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
@@ -58,7 +58,7 @@ public class AndroidIncludingCompiler implements SourceGeneratingCompiler {
|
||||
return null;
|
||||
}
|
||||
|
||||
for (AndroidFacet depFacet : AndroidSdkUtils.getAllAndroidDependencies(module, true)) {
|
||||
for (AndroidFacet depFacet : AndroidUtils.getAllAndroidDependencies(module, true)) {
|
||||
String genSrcRootPath = AndroidRootUtil.getAptGenSourceRootPath(depFacet);
|
||||
VirtualFile genSrcRoot = genSrcRootPath != null ? LocalFileSystem.getInstance().findFileByPath(genSrcRootPath) : null;
|
||||
VirtualFile[] srcRoots = ModuleRootManager.getInstance(depFacet.getModule()).getSourceRoots();
|
||||
@@ -90,7 +90,7 @@ public class AndroidIncludingCompiler implements SourceGeneratingCompiler {
|
||||
}
|
||||
|
||||
Map<String, MyItem> qName2Item = new HashMap<String, MyItem>();
|
||||
for (AndroidFacet depFacet : AndroidSdkUtils.getAllAndroidDependencies(module, true)) {
|
||||
for (AndroidFacet depFacet : AndroidUtils.getAllAndroidDependencies(module, true)) {
|
||||
final AndroidPlatform platform = depFacet.getConfiguration().getAndroidPlatform();
|
||||
|
||||
final int platformToolsRevision = platform != null ? platform.getSdkData().getPlatformToolsRevision() : -1;
|
||||
|
||||
@@ -34,9 +34,9 @@ import org.jetbrains.android.facet.AndroidFacet;
|
||||
import org.jetbrains.android.facet.AndroidFacetConfiguration;
|
||||
import org.jetbrains.android.facet.AndroidRootUtil;
|
||||
import org.jetbrains.android.sdk.AndroidPlatform;
|
||||
import org.jetbrains.android.sdk.AndroidSdkUtils;
|
||||
import org.jetbrains.android.util.AndroidBundle;
|
||||
import org.jetbrains.android.util.AndroidCommonUtils;
|
||||
import org.jetbrains.android.util.AndroidUtils;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
@@ -173,7 +173,7 @@ public class AndroidPackagingCompiler implements PackagingCompiler {
|
||||
if (libsDir != null) {
|
||||
result.add(libsDir);
|
||||
}
|
||||
for (AndroidFacet depFacet : AndroidSdkUtils.getAndroidDependencies(facet.getModule(), true)) {
|
||||
for (AndroidFacet depFacet : AndroidUtils.getAndroidDependencies(facet.getModule(), true)) {
|
||||
VirtualFile depLibsDir = AndroidRootUtil.getLibsDir(depFacet);
|
||||
if (depLibsDir != null) {
|
||||
result.add(depLibsDir);
|
||||
|
||||
+1
-2
@@ -34,7 +34,6 @@ import org.jetbrains.android.facet.AndroidFacet;
|
||||
import org.jetbrains.android.facet.AndroidFacetConfiguration;
|
||||
import org.jetbrains.android.facet.AndroidRootUtil;
|
||||
import org.jetbrains.android.sdk.AndroidPlatform;
|
||||
import org.jetbrains.android.sdk.AndroidSdkUtils;
|
||||
import org.jetbrains.android.util.AndroidBundle;
|
||||
import org.jetbrains.android.util.AndroidUtils;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
@@ -103,7 +102,7 @@ public class AndroidResourcesPackagingCompiler implements ClassPostProcessingCom
|
||||
if (assetsDir != null) {
|
||||
result.add(FileUtil.toSystemDependentName(assetsDir.getPath()));
|
||||
}
|
||||
for (AndroidFacet depFacet : AndroidSdkUtils.getAllAndroidDependencies(facet.getModule(), true)) {
|
||||
for (AndroidFacet depFacet : AndroidUtils.getAllAndroidDependencies(facet.getModule(), true)) {
|
||||
final VirtualFile depAssetsDir = AndroidRootUtil.getAssetsDir(depFacet);
|
||||
|
||||
if (depAssetsDir != null) {
|
||||
|
||||
@@ -22,7 +22,7 @@ import com.intellij.openapi.vfs.VirtualFile;
|
||||
import org.jetbrains.android.facet.AndroidFacet;
|
||||
import org.jetbrains.android.facet.AndroidRootUtil;
|
||||
import org.jetbrains.android.sdk.AndroidPlatform;
|
||||
import org.jetbrains.android.sdk.AndroidSdkUtils;
|
||||
import org.jetbrains.android.util.AndroidUtils;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
@@ -66,7 +66,7 @@ public class ResourcesValidityState implements ValidityState {
|
||||
if (assetsDir != null) {
|
||||
collectFiles(assetsDir);
|
||||
}
|
||||
for (AndroidFacet depFacet : AndroidSdkUtils.getAllAndroidDependencies(module, true)) {
|
||||
for (AndroidFacet depFacet : AndroidUtils.getAllAndroidDependencies(module, true)) {
|
||||
VirtualFile depManifest = AndroidRootUtil.getManifestFile(depFacet);
|
||||
if (depManifest != null) {
|
||||
myResourceTimestamps.put(depManifest.getPath(), depManifest.getTimeStamp());
|
||||
|
||||
@@ -576,7 +576,7 @@ public class AndroidFacet extends Facet<AndroidFacetConfiguration> {
|
||||
private VirtualFile[] collectDependencies() {
|
||||
final List<VirtualFile> dependenciesList = new ArrayList<VirtualFile>();
|
||||
|
||||
for (AndroidFacet depFacet : AndroidSdkUtils.getAndroidDependencies(getModule(), true)) {
|
||||
for (AndroidFacet depFacet : AndroidUtils.getAndroidDependencies(getModule(), true)) {
|
||||
final Module depModule = depFacet.getModule();
|
||||
final VirtualFile libDir = getBaseAndroidContentRoot(depModule);
|
||||
if (libDir != null) {
|
||||
|
||||
+1
-2
@@ -46,7 +46,6 @@ import org.jetbrains.android.dom.resources.ResourceElement;
|
||||
import org.jetbrains.android.dom.resources.Resources;
|
||||
import org.jetbrains.android.facet.AndroidFacet;
|
||||
import org.jetbrains.android.facet.AndroidRootUtil;
|
||||
import org.jetbrains.android.sdk.AndroidSdkUtils;
|
||||
import org.jetbrains.android.util.AndroidBundle;
|
||||
import org.jetbrains.android.util.AndroidResourceUtil;
|
||||
import org.jetbrains.android.util.AndroidUtils;
|
||||
@@ -121,7 +120,7 @@ public class LocalResourceManager extends ResourceManager {
|
||||
if (resDir != null && !result.add(resDir)) {
|
||||
return;
|
||||
}
|
||||
for (AndroidFacet depFacet : AndroidSdkUtils.getAllAndroidDependencies(facet.getModule(), false)) {
|
||||
for (AndroidFacet depFacet : AndroidUtils.getAllAndroidDependencies(facet.getModule(), false)) {
|
||||
collectResourceDirs(depFacet, result, visited);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -32,7 +32,10 @@ import com.intellij.openapi.module.Module;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.projectRoots.*;
|
||||
import com.intellij.openapi.projectRoots.impl.SdkConfigurationUtil;
|
||||
import com.intellij.openapi.roots.*;
|
||||
import com.intellij.openapi.roots.JavadocOrderRootType;
|
||||
import com.intellij.openapi.roots.ModifiableRootModel;
|
||||
import com.intellij.openapi.roots.ModuleRootManager;
|
||||
import com.intellij.openapi.roots.OrderRootType;
|
||||
import com.intellij.openapi.roots.libraries.ui.OrderRoot;
|
||||
import com.intellij.openapi.roots.ui.configuration.ProjectSettingsService;
|
||||
import com.intellij.openapi.ui.Messages;
|
||||
@@ -42,7 +45,6 @@ import com.intellij.openapi.vfs.LocalFileSystem;
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
import com.intellij.util.containers.HashSet;
|
||||
import org.jetbrains.android.actions.AndroidEnableDdmsAction;
|
||||
import org.jetbrains.android.dom.manifest.Manifest;
|
||||
import org.jetbrains.android.facet.AndroidFacet;
|
||||
import org.jetbrains.android.facet.AndroidRootUtil;
|
||||
import org.jetbrains.android.util.AndroidBundle;
|
||||
@@ -447,83 +449,6 @@ public class AndroidSdkUtils {
|
||||
return null;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public static List<AndroidFacet> getAndroidDependencies(@NotNull Module module, boolean androidLibrariesOnly) {
|
||||
final List<AndroidFacet> depFacets = new ArrayList<AndroidFacet>();
|
||||
|
||||
for (OrderEntry orderEntry : ModuleRootManager.getInstance(module).getOrderEntries()) {
|
||||
if (orderEntry instanceof ModuleOrderEntry) {
|
||||
final ModuleOrderEntry moduleOrderEntry = (ModuleOrderEntry)orderEntry;
|
||||
|
||||
if (moduleOrderEntry.getScope() == DependencyScope.COMPILE) {
|
||||
final Module depModule = moduleOrderEntry.getModule();
|
||||
|
||||
if (depModule != null) {
|
||||
final AndroidFacet depFacet = AndroidFacet.getInstance(depModule);
|
||||
|
||||
if (depFacet != null && (!androidLibrariesOnly || depFacet.getConfiguration().LIBRARY_PROJECT)) {
|
||||
depFacets.add(depFacet);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return depFacets;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public static List<AndroidFacet> getAllAndroidDependencies(@NotNull Module module, boolean androidLibrariesOnly) {
|
||||
final List<AndroidFacet> result = new ArrayList<AndroidFacet>();
|
||||
collectAllAndroidDependencies(module, androidLibrariesOnly, result, new HashSet<AndroidFacet>());
|
||||
return result;
|
||||
}
|
||||
|
||||
private static void collectAllAndroidDependencies(Module module,
|
||||
boolean androidLibrariesOnly,
|
||||
List<AndroidFacet> result,
|
||||
Set<AndroidFacet> visited) {
|
||||
for (OrderEntry orderEntry : ModuleRootManager.getInstance(module).getOrderEntries()) {
|
||||
if (orderEntry instanceof ModuleOrderEntry) {
|
||||
final ModuleOrderEntry moduleOrderEntry = (ModuleOrderEntry)orderEntry;
|
||||
|
||||
if (moduleOrderEntry.getScope() == DependencyScope.COMPILE) {
|
||||
final Module depModule = moduleOrderEntry.getModule();
|
||||
|
||||
if (depModule != null) {
|
||||
final AndroidFacet depFacet = AndroidFacet.getInstance(depModule);
|
||||
|
||||
if (depFacet != null &&
|
||||
(!androidLibrariesOnly || depFacet.getConfiguration().LIBRARY_PROJECT) &&
|
||||
visited.add(depFacet)) {
|
||||
collectAllAndroidDependencies(depModule, androidLibrariesOnly, result, visited);
|
||||
result.add(0, depFacet);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public static Set<String> getDepLibsPackages(Module module) {
|
||||
final Set<String> result = new HashSet<String>();
|
||||
final HashSet<Module> visited = new HashSet<Module>();
|
||||
|
||||
if (visited.add(module)) {
|
||||
for (AndroidFacet depFacet : getAllAndroidDependencies(module, true)) {
|
||||
final Manifest manifest = depFacet.getManifest();
|
||||
|
||||
if (manifest != null) {
|
||||
String aPackage = manifest.getPackage().getValue();
|
||||
if (aPackage != null) {
|
||||
result.add(aPackage);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
@Nullable
|
||||
public static AndroidDebugBridge getDebugBridge(@NotNull Project project) {
|
||||
final List<AndroidFacet> facets = ProjectFacetManager.getInstance(project).getFacets(AndroidFacet.ID);
|
||||
|
||||
@@ -40,7 +40,6 @@ import org.jetbrains.android.dom.resources.Item;
|
||||
import org.jetbrains.android.dom.resources.ResourceElement;
|
||||
import org.jetbrains.android.dom.resources.Resources;
|
||||
import org.jetbrains.android.facet.AndroidFacet;
|
||||
import org.jetbrains.android.sdk.AndroidSdkUtils;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
@@ -535,7 +534,7 @@ public class AndroidResourceUtil {
|
||||
return true;
|
||||
}
|
||||
|
||||
for (String aPackage : AndroidSdkUtils.getDepLibsPackages(facet.getModule())) {
|
||||
for (String aPackage : AndroidUtils.getDepLibsPackages(facet.getModule())) {
|
||||
if (javaFile.getPackageName().equals(aPackage)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -42,8 +42,7 @@ import com.intellij.openapi.diagnostic.Logger;
|
||||
import com.intellij.openapi.module.Module;
|
||||
import com.intellij.openapi.progress.ProcessCanceledException;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.roots.ModifiableRootModel;
|
||||
import com.intellij.openapi.roots.ModuleRootManager;
|
||||
import com.intellij.openapi.roots.*;
|
||||
import com.intellij.openapi.ui.Messages;
|
||||
import com.intellij.openapi.ui.popup.JBPopup;
|
||||
import com.intellij.openapi.ui.popup.JBPopupFactory;
|
||||
@@ -637,4 +636,81 @@ public class AndroidUtils {
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public static List<AndroidFacet> getAndroidDependencies(@NotNull Module module, boolean androidLibrariesOnly) {
|
||||
final List<AndroidFacet> depFacets = new ArrayList<AndroidFacet>();
|
||||
|
||||
for (OrderEntry orderEntry : ModuleRootManager.getInstance(module).getOrderEntries()) {
|
||||
if (orderEntry instanceof ModuleOrderEntry) {
|
||||
final ModuleOrderEntry moduleOrderEntry = (ModuleOrderEntry)orderEntry;
|
||||
|
||||
if (moduleOrderEntry.getScope() == DependencyScope.COMPILE) {
|
||||
final Module depModule = moduleOrderEntry.getModule();
|
||||
|
||||
if (depModule != null) {
|
||||
final AndroidFacet depFacet = AndroidFacet.getInstance(depModule);
|
||||
|
||||
if (depFacet != null && (!androidLibrariesOnly || depFacet.getConfiguration().LIBRARY_PROJECT)) {
|
||||
depFacets.add(depFacet);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return depFacets;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public static List<AndroidFacet> getAllAndroidDependencies(@NotNull Module module, boolean androidLibrariesOnly) {
|
||||
final List<AndroidFacet> result = new ArrayList<AndroidFacet>();
|
||||
collectAllAndroidDependencies(module, androidLibrariesOnly, result, new HashSet<AndroidFacet>());
|
||||
return result;
|
||||
}
|
||||
|
||||
private static void collectAllAndroidDependencies(Module module,
|
||||
boolean androidLibrariesOnly,
|
||||
List<AndroidFacet> result,
|
||||
Set<AndroidFacet> visited) {
|
||||
for (OrderEntry orderEntry : ModuleRootManager.getInstance(module).getOrderEntries()) {
|
||||
if (orderEntry instanceof ModuleOrderEntry) {
|
||||
final ModuleOrderEntry moduleOrderEntry = (ModuleOrderEntry)orderEntry;
|
||||
|
||||
if (moduleOrderEntry.getScope() == DependencyScope.COMPILE) {
|
||||
final Module depModule = moduleOrderEntry.getModule();
|
||||
|
||||
if (depModule != null) {
|
||||
final AndroidFacet depFacet = AndroidFacet.getInstance(depModule);
|
||||
|
||||
if (depFacet != null &&
|
||||
(!androidLibrariesOnly || depFacet.getConfiguration().LIBRARY_PROJECT) &&
|
||||
visited.add(depFacet)) {
|
||||
collectAllAndroidDependencies(depModule, androidLibrariesOnly, result, visited);
|
||||
result.add(0, depFacet);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public static Set<String> getDepLibsPackages(Module module) {
|
||||
final Set<String> result = new HashSet<String>();
|
||||
final HashSet<Module> visited = new HashSet<Module>();
|
||||
|
||||
if (visited.add(module)) {
|
||||
for (AndroidFacet depFacet : getAllAndroidDependencies(module, true)) {
|
||||
final Manifest manifest = depFacet.getManifest();
|
||||
|
||||
if (manifest != null) {
|
||||
String aPackage = manifest.getPackage().getValue();
|
||||
if (aPackage != null) {
|
||||
result.add(aPackage);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user