diff options
author | Jerome Dochez <jedo@google.com> | 2014-10-16 17:21:20 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2014-10-16 17:21:20 +0000 |
commit | 09ff4de6e2a8441acc67b16cf6727c1d465f060b (patch) | |
tree | 36acd8d52c8bad86436275249d38753ce588edf0 | |
parent | d068389f6ba34178b28acc58bd39c12a82c6e244 (diff) | |
parent | 472b51d34b0cf29210d5f85d864cb3aa56e0a932 (diff) | |
download | base-09ff4de6e2a8441acc67b16cf6727c1d465f060b.tar.gz |
Merge "removed convenience API from OutputFile that created issue with reproxy" into studio-1.0-dev
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() { |