summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJerome Dochez <jedo@google.com>2014-10-16 17:21:20 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2014-10-16 17:21:20 +0000
commit09ff4de6e2a8441acc67b16cf6727c1d465f060b (patch)
tree36acd8d52c8bad86436275249d38753ce588edf0
parentd068389f6ba34178b28acc58bd39c12a82c6e244 (diff)
parent472b51d34b0cf29210d5f85d864cb3aa56e0a932 (diff)
downloadbase-09ff4de6e2a8441acc67b16cf6727c1d465f060b.tar.gz
Merge "removed convenience API from OutputFile that created issue with reproxy" into studio-1.0-dev
-rw-r--r--build-system/gradle-model/src/test/java/com/android/build/gradle/model/AndroidProjectTest.java14
-rw-r--r--build-system/gradle/src/main/groovy/com/android/build/gradle/api/ApkOutputFile.java7
-rw-r--r--build-system/gradle/src/main/groovy/com/android/build/gradle/internal/model/OutputFileImpl.java11
-rw-r--r--common/src/main/java/com/android/build/OutputFile.java9
-rw-r--r--sdk-common/src/main/java/com/android/ide/common/build/SplitOutputMatcher.java17
-rw-r--r--sdk-common/src/test/java/com/android/ide/common/build/SplitOutputMatcherTest.java11
6 files changed, 32 insertions, 37 deletions
diff --git a/build-system/gradle-model/src/test/java/com/android/build/gradle/model/AndroidProjectTest.java b/build-system/gradle-model/src/test/java/com/android/build/gradle/model/AndroidProjectTest.java
index d8f5ddd00a..7e89539597 100644
--- a/build-system/gradle-model/src/test/java/com/android/build/gradle/model/AndroidProjectTest.java
+++ b/build-system/gradle-model/src/test/java/com/android/build/gradle/model/AndroidProjectTest.java
@@ -618,7 +618,7 @@ public class AndroidProjectTest extends TestCase {
assertEquals(1, outputFiles.size());
assertNotNull(output.getMainOutputFile());
- String densityFilter = output.getMainOutputFile().getFilter(OutputFile.DENSITY);
+ String densityFilter = getFilter(output.getMainOutputFile(), OutputFile.DENSITY);
Integer value = expected.get(densityFilter);
// this checks we're not getting an unexpected output.
assertNotNull("Check Valid output: " + (densityFilter == null ? "universal"
@@ -633,6 +633,16 @@ public class AndroidProjectTest extends TestCase {
assertTrue(expected.isEmpty());
}
+ @Nullable
+ private static String getFilter(@NonNull OutputFile outputFile, @NonNull String filterType) {
+ for (FilterData filterData : outputFile.getFilters()) {
+ if (filterData.getFilterType().equals(filterType)) {
+ return filterData.getIdentifier();
+ }
+ }
+ return null;
+ }
+
public void testDensityPureSplitOutputs() throws Exception {
// Load the custom model for the project
ProjectData projectData = getModelForProject(FOLDER_TEST_REGULAR, "densitySplitInL");
@@ -664,7 +674,7 @@ public class AndroidProjectTest extends TestCase {
AndroidArtifactOutput output = debugOutputs.iterator().next();
assertEquals(5, output.getOutputs().size());
for (OutputFile outputFile : output.getOutputs()) {
- String densityFilter = outputFile.getFilter(OutputFile.DENSITY);
+ String densityFilter = getFilter(outputFile, OutputFile.DENSITY);
assertEquals(densityFilter == null ? OutputFile.MAIN : OutputFile.SPLIT,
outputFile.getOutputType());
diff --git a/build-system/gradle/src/main/groovy/com/android/build/gradle/api/ApkOutputFile.java b/build-system/gradle/src/main/groovy/com/android/build/gradle/api/ApkOutputFile.java
index 382bb20289..cd32c70a48 100644
--- a/build-system/gradle/src/main/groovy/com/android/build/gradle/api/ApkOutputFile.java
+++ b/build-system/gradle/src/main/groovy/com/android/build/gradle/api/ApkOutputFile.java
@@ -164,7 +164,12 @@ public class ApkOutputFile implements OutputFile, Serializable {
return null;
}
- @Override
+ /**
+ * Returns the split identifier (like "hdpi" for a density split) given the split dimension.
+ * @param filterType the string representation of {@see SplitType} split dimension used to
+ * create the APK.
+ * @return the split identifier or null if there was not split of that dimension.
+ */
@Nullable
public String getFilter(String filterType) {
return getFilterByType(FilterType.valueOf(filterType));
diff --git a/build-system/gradle/src/main/groovy/com/android/build/gradle/internal/model/OutputFileImpl.java b/build-system/gradle/src/main/groovy/com/android/build/gradle/internal/model/OutputFileImpl.java
index 10c2fdc62b..187588bc2f 100644
--- a/build-system/gradle/src/main/groovy/com/android/build/gradle/internal/model/OutputFileImpl.java
+++ b/build-system/gradle/src/main/groovy/com/android/build/gradle/internal/model/OutputFileImpl.java
@@ -61,15 +61,4 @@ public class OutputFileImpl implements OutputFile, Serializable {
public Collection<FilterData> getFilters() {
return filters;
}
-
- @Nullable
- @Override
- public String getFilter(@NonNull String filterType) {
- for (FilterData filter : filters) {
- if (filter.getFilterType().equals(filterType)) {
- return filter.getIdentifier();
- }
- }
- return null;
- }
}
diff --git a/common/src/main/java/com/android/build/OutputFile.java b/common/src/main/java/com/android/build/OutputFile.java
index f9c88475f4..38b30b1205 100644
--- a/common/src/main/java/com/android/build/OutputFile.java
+++ b/common/src/main/java/com/android/build/OutputFile.java
@@ -79,13 +79,4 @@ public interface OutputFile {
*/
@NonNull
public Collection<FilterData> getFilters();
-
- /**
- * Returns the split identifier (like "hdpi" for a density split) given the split dimension.
- * @param filterType the string representation of {@see SplitType} split dimension used to
- * create the APK.
- * @return the split identifier or null if there was not split of that dimension.
- */
- @Nullable
- public String getFilter(@NonNull String filterType);
}
diff --git a/sdk-common/src/main/java/com/android/ide/common/build/SplitOutputMatcher.java b/sdk-common/src/main/java/com/android/ide/common/build/SplitOutputMatcher.java
index f31157491d..9fffc24aa6 100644
--- a/sdk-common/src/main/java/com/android/ide/common/build/SplitOutputMatcher.java
+++ b/sdk-common/src/main/java/com/android/ide/common/build/SplitOutputMatcher.java
@@ -18,6 +18,7 @@ package com.android.ide.common.build;
import com.android.annotations.NonNull;
import com.android.annotations.Nullable;
+import com.android.build.FilterData;
import com.android.build.MainOutputFile;
import com.android.build.OutputFile;
import com.android.build.VariantOutput;
@@ -73,8 +74,8 @@ public class SplitOutputMatcher {
// find a matching output.
for (VariantOutput variantOutput : outputs) {
for (OutputFile output : variantOutput.getOutputs()) {
- String densityFilter = output.getFilter(OutputFile.DENSITY);
- String abiFilter = output.getFilter(OutputFile.ABI);
+ String densityFilter = getFilter(output, OutputFile.DENSITY);
+ String abiFilter = getFilter(output, OutputFile.ABI);
if (densityFilter != null && !densityFilter.equals(densityValue)) {
continue;
@@ -100,7 +101,7 @@ public class SplitOutputMatcher {
// so far, we are not dealing with the pure split files...
MainOutputFile mainOutputFile = match.getMainOutputFile();
- if (mainOutputFile.getFilter(OutputFile.DENSITY) == null && variantAbiFilters != null) {
+ if (getFilter(mainOutputFile, OutputFile.DENSITY) == null && variantAbiFilters != null) {
// if we have a match that has no abi filter, and we have variant-level filters, then
// we need to make sure that the variant filters are compatible with the device abis.
boolean foundMatch = false;
@@ -118,4 +119,14 @@ public class SplitOutputMatcher {
return ImmutableList.of(mainOutputFile.getOutputFile());
}
+
+ @Nullable
+ private static String getFilter(@NonNull OutputFile outputFile, @NonNull String filterType) {
+ for (FilterData filterData : outputFile.getFilters()) {
+ if (filterData.getFilterType().equals(filterType)) {
+ return filterData.getIdentifier();
+ }
+ }
+ return null;
+ }
}
diff --git a/sdk-common/src/test/java/com/android/ide/common/build/SplitOutputMatcherTest.java b/sdk-common/src/test/java/com/android/ide/common/build/SplitOutputMatcherTest.java
index 241d5daf61..27eac244e0 100644
--- a/sdk-common/src/test/java/com/android/ide/common/build/SplitOutputMatcherTest.java
+++ b/sdk-common/src/test/java/com/android/ide/common/build/SplitOutputMatcherTest.java
@@ -91,17 +91,6 @@ public class SplitOutputMatcherTest extends TestCase {
return splitTypeBuilder.build();
}
- @Nullable
- @Override
- public String getFilter(String filterType) {
- if (densityFilter != null && filterType.equals(OutputFile.DENSITY)) {
- return densityFilter;
- } else if (abiFilter != null && filterType.equals(OutputFile.ABI)) {
- return abiFilter;
- }
- return null;
- }
-
@NonNull
@Override
public Collection<FilterData> getFilters() {