summaryrefslogtreecommitdiff
path: root/android/src/com
diff options
context:
space:
mode:
authorJosh Giles <joshgiles@google.com>2015-07-31 11:51:00 -0400
committerJosh Giles <joshgiles@google.com>2015-07-31 11:51:00 -0400
commit3bff6846dbb962ff6769f7072121d458913b04c2 (patch)
tree169f5d005dafdfd5eca114b0ff983928ec3551da /android/src/com
parentcd9fb58a0fe180b0d76299e497572173a85c086b (diff)
downloadidea-3bff6846dbb962ff6769f7072121d458913b04c2.tar.gz
Trivially implement AndroidModel interface.
Make IdeaAndroidProject implement the AndroidModel interface, filling in real implementations for trivial methods but throwing for all non-trivial methods. Eliminate a couple interface methods which during implementation were deemed only used in Gradle-specific code. Dropping these methods means we will need to do some refactoring in AndroidTestRunConfiguration. Change-Id: I8ea484c0d6af5a3219e3705d98d9680010cecb21
Diffstat (limited to 'android/src/com')
-rw-r--r--android/src/com/android/tools/idea/gradle/IdeaAndroidProject.java65
-rw-r--r--android/src/com/android/tools/idea/model/AndroidModel.java27
2 files changed, 65 insertions, 27 deletions
diff --git a/android/src/com/android/tools/idea/gradle/IdeaAndroidProject.java b/android/src/com/android/tools/idea/gradle/IdeaAndroidProject.java
index ae3bac91d18..60b482118e1 100644
--- a/android/src/com/android/tools/idea/gradle/IdeaAndroidProject.java
+++ b/android/src/com/android/tools/idea/gradle/IdeaAndroidProject.java
@@ -18,6 +18,7 @@ package com.android.tools.idea.gradle;
import com.android.builder.model.*;
import com.android.sdklib.AndroidVersion;
import com.android.sdklib.repository.FullRevision;
+import com.android.tools.idea.model.AndroidModel;
import com.android.tools.lint.detector.api.LintUtils;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
@@ -47,7 +48,7 @@ import static com.intellij.openapi.vfs.VfsUtil.findFileByIoFile;
/**
* Contains Android-Gradle related state necessary for configuring an IDEA project based on a user-selected build variant.
*/
-public class IdeaAndroidProject implements Serializable {
+public class IdeaAndroidProject implements AndroidModel, Serializable {
// Increase the value when adding/removing fields or when changing the serialization/deserialization mechanism.
private static final long serialVersionUID = 1L;
private static final Logger LOG = Logger.getInstance(IdeaAndroidProject.class);
@@ -137,6 +138,65 @@ public class IdeaAndroidProject implements Serializable {
}
@NotNull
+ @Override
+ public AndroidArtifact getMainArtifact() {
+ return getSelectedVariant().getMainArtifact();
+ }
+
+ @NotNull
+ @Override
+ public SourceProvider getDefaultSourceProvider() {
+ return getAndroidProject().getDefaultConfig().getSourceProvider();
+ }
+
+ @NotNull
+ @Override
+ public List<SourceProvider> getActiveSourceProviders() {
+ throw new UnsupportedOperationException("Not yet implemented.");
+ }
+
+ @NotNull
+ @Override
+ public List<SourceProvider> getTestSourceProviders() {
+ throw new UnsupportedOperationException("Not yet implemented.");
+ }
+
+ @NotNull
+ @Override
+ public List<SourceProvider> getAllSourceProviders() {
+ throw new UnsupportedOperationException("Not yet implemented.");
+ }
+
+ @NotNull
+ @Override
+ public String getApplicationId() {
+ throw new UnsupportedOperationException("Not yet implemented.");
+ }
+
+ @NotNull
+ @Override
+ public Set<String> getAllApplicationIds() {
+ throw new UnsupportedOperationException("Not yet implemented.");
+ }
+
+ @Override
+ public Boolean isDebuggable() {
+ throw new UnsupportedOperationException("Not yet implemented.");
+ }
+
+ @Nullable
+ @Override
+ public AndroidVersion getMinSdkVersion() {
+ return getConfigMinSdkVersion();
+ }
+
+ @Nullable
+ @Override
+ public AndroidVersion getTargetSdkVersion() {
+ throw new UnsupportedOperationException("Not yet implemented.");
+ }
+
+ @NotNull
public ProjectSystemId getProjectSystemId() {
return myProjectSystemId;
}
@@ -320,6 +380,7 @@ public class IdeaAndroidProject implements Serializable {
*
* @return true if the manifest package is overridden
*/
+ @Override
public boolean overridesManifestPackage() {
if (myOverridesManifestPackage == null) {
myOverridesManifestPackage = getAndroidProject().getDefaultConfig().getProductFlavor().getApplicationId() != null;
@@ -617,4 +678,4 @@ public class IdeaAndroidProject implements Serializable {
setSelectedVariantName((String)in.readObject());
setSelectedTestArtifactName((String)in.readObject());
}
-} \ No newline at end of file
+}
diff --git a/android/src/com/android/tools/idea/model/AndroidModel.java b/android/src/com/android/tools/idea/model/AndroidModel.java
index ff908795eec..3cd516fc079 100644
--- a/android/src/com/android/tools/idea/model/AndroidModel.java
+++ b/android/src/com/android/tools/idea/model/AndroidModel.java
@@ -16,14 +16,13 @@
package com.android.tools.idea.model;
import com.android.builder.model.AndroidArtifact;
-import com.android.builder.model.BaseArtifact;
import com.android.builder.model.SourceProvider;
import com.android.sdklib.AndroidVersion;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
-import java.util.Collection;
import java.util.List;
+import java.util.Set;
/**
* A common interface for Android module models.
@@ -38,14 +37,6 @@ public interface AndroidModel {
AndroidArtifact getMainArtifact();
/**
- * @return the currently selected test artifact produced by this Android module.
- * TODO: Remove this method - it exposes Gradle-specific BaseArtifact.
- */
- @Deprecated
- @Nullable
- BaseArtifact getTestArtifact();
-
- /**
* @return the default source provider.
* TODO: To be build-system-agnostic, simplify source provider usage.
* {@link org.jetbrains.android.facet.AndroidFacet#getMainSourceProvider()}
@@ -81,13 +72,6 @@ public interface AndroidModel {
List<SourceProvider> getAllSourceProviders();
/**
- * @return the current version code for this Android module, or null if not specified.
- */
- @Deprecated
- @Nullable
- Integer getVersionCode();
-
- /**
* @return the current application ID.
* See {@link com.android.tools.idea.gradle.IdeaAndroidProject#computePackageName()}
*/
@@ -98,7 +82,7 @@ public interface AndroidModel {
* @return all the application IDs of artifacts this Android module could produce.
*/
@NotNull
- Collection<String> getAllApplicationIds();
+ Set<String> getAllApplicationIds();
/**
* @return whether the manifest package is overriden.
@@ -126,11 +110,4 @@ public interface AndroidModel {
*/
@Nullable
AndroidVersion getTargetSdkVersion();
-
- /**
- * @return for test execution, the fully-qualified class name of the specified instrumentation runner if present.
- */
- @Nullable
- @Deprecated
- String getTestInstrumentationRunner();
}