private static Optional<AbiAlias> getAbi(VariantTargeting variantTargeting) { if (variantTargeting.getAbiTargeting().getValueList().isEmpty()) { return Optional.empty(); } return Optional.of( variantTargeting .getAbiTargeting() .getValueList() .stream() // For now we only support one value in AbiTargeting. .collect(MoreCollectors.onlyElement()) .getAlias()); }
@Override protected ImmutableList<Abi> getValues(VariantTargeting targeting) { return ImmutableList.copyOf(targeting.getAbiTargeting().getValueList()); }
private ConfigurationSizes getSizeStandaloneVariant() { checkState( !getSizeRequest.getInstant(), "Standalone Variants cant be selected when instant flag is set"); // When modules are specified we ignore standalone variants. if (getSizeRequest.getModules().isPresent()) { return ConfigurationSizes.create(ImmutableMap.of(), ImmutableMap.of()); } VariantTargeting variantTargeting = variant.getTargeting(); SizeConfiguration sizeConfiguration = mergeWithDeviceSpec( getSizeConfiguration( variantTargeting.getSdkVersionTargeting(), variantTargeting.getAbiTargeting(), variantTargeting.getScreenDensityTargeting(), LanguageTargeting.getDefaultInstance()), getSizeRequest.getDeviceSpec()); // Variants of standalone APKs have only one APK each. long compressedSize = sizeByApkPaths.get( Iterables.getOnlyElement( Iterables.getOnlyElement(variant.getApkSetList()).getApkDescriptionList()) .getPath()); ImmutableMap<SizeConfiguration, Long> sizeConfigurationMap = ImmutableMap.of(sizeConfiguration, compressedSize); return ConfigurationSizes.create(sizeConfigurationMap, sizeConfigurationMap); }
BuildApksResult result = extractTocFromApkSetFile(apkSetFile, outputDir); assertThat(standaloneApkVariants(result)).hasSize(1); assertThat(standaloneApkVariants(result).get(0).getTargeting().getAbiTargeting()) .isEqualTo(abiTargeting(ARMEABI_V7A)); assertThat(splitApkVariants(result)).hasSize(1);
@Override protected AbiTargeting getTargetingValue(VariantTargeting variantTargeting) { return variantTargeting.getAbiTargeting(); }